1- # v3.800.17
2- # https://virtocommerce.atlassian.net/browse/VCST-2789
1+ # v3.800.22
2+ # https://virtocommerce.atlassian.net/browse/VCST-4203
33name : Module CI
44
55on :
2727 - ' **/argoDeploy.json'
2828 - ' **/cloudDeploy.json'
2929 - samples/**
30-
30+
3131jobs :
3232 ci :
33- if : ${{ github.actor != 'dependabot[bot]' &&
34- (github.event.pull_request.head.repo.full_name == github.repository ||
33+ if : ${{ github.actor != 'dependabot[bot]' &&
34+ (github.event.pull_request.head.repo.full_name == github.repository ||
3535 github.event.pull_request.head.repo.full_name == '') }} # Check that PR not from forked repo and not from Dependabot
3636 runs-on : ubuntu-24.04
3737 env :
5656 run-e2e : ${{ steps.run-e2e.outputs.result }}
5757 run-ui-tests : ${{ steps.run-ui-tests.outputs.result }}
5858 deployment-folder-exists : ${{ steps.check_deployment_folder.outputs.exists }}
59+ requiredModulesListUrl : ${{ steps.extract_required_modules_list_url_from_pr.outputs.url }}
5960
6061 steps :
6162
@@ -140,7 +141,7 @@ jobs:
140141
141142 - name : Packaging
142143 run : vc-build Compress -skip Clean+Restore+Compile+Test
143-
144+
144145 - name : Publish Nuget
145146 if : ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' }}
146147 uses : VirtoCommerce/vc-github-actions/publish-nuget@master
@@ -152,7 +153,7 @@ jobs:
152153 with :
153154 blobSAS : ${{ secrets.BLOB_TOKEN }}
154155 blobUrl : ${{ vars.BLOB_URL }}
155-
156+
156157 - name : Add Jira link
157158 if : ${{ github.event_name == 'pull_request' }}
158159 uses : VirtoCommerce/vc-github-actions/publish-jira-link@master
@@ -177,7 +178,7 @@ jobs:
177178 changelog : ${{ steps.changelog.outputs.changelog }}
178179 organization : ${{ github.repository_owner }}
179180 uses : VirtoCommerce/vc-github-actions/publish-github-release@master
180-
181+
181182 - name : Set artifactUrl value
182183 id : artifactUrl
183184 run : |
@@ -200,13 +201,43 @@ jobs:
200201 env :
201202 COMMIT_MESSAGE : ${{ github.event.head_commit.message }}
202203 run : |
203- if [[ "$COMMIT_MESSAGE" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]];
204+ if [[ "$COMMIT_MESSAGE" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]];
204205 then
205206 echo "result=false" >> $GITHUB_OUTPUT
206207 else
207208 echo "result=true" >> $GITHUB_OUTPUT
208209 fi
209210
211+ - name : Extract required modules list URL from the pull request description
212+ if : ${{ github.event_name == 'pull_request' }}
213+ id : extract_required_modules_list_url_from_pr
214+ shell : pwsh
215+ env :
216+ PR_BODY : ${{ github.event.pull_request.body }}
217+ run : |
218+ $text = $env:PR_BODY
219+ $marker = 'Required modules list URL'
220+
221+ $url = ''
222+ if ($null -ne $text -and $text.Contains($marker)) {
223+ $startIndex = $text.IndexOf($marker)
224+ if ($startIndex -ge 0) {
225+ $slice = $text.Substring($startIndex)
226+ $match = [regex]::Match($slice, 'https?://[^ )\r\n]+')
227+ if ($match.Success) {
228+ $url = $match.Value
229+ }
230+ }
231+ }
232+
233+ if ([string]::IsNullOrWhiteSpace($url) -eq $false) {
234+ Write-Host "url found: $url"
235+ Add-Content -Path $env:GITHUB_OUTPUT -Value "url=$url"
236+ } else {
237+ Write-Host "url NOT found"
238+ Add-Content -Path $env:GITHUB_OUTPUT -Value "url="
239+ }
240+
210241 - name : Look for xapi module in dependencies
211242 id : run-ui-tests
212243 shell : pwsh
@@ -231,9 +262,9 @@ jobs:
231262 - name : Setup Git Credentials
232263 if : ${{ (github.ref == 'refs/heads/dev' && github.event_name != 'workflow_dispatch') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' }}
233264 uses : VirtoCommerce/vc-github-actions/setup-git-credentials-github@master
234- with :
265+ with :
235266 githubToken : ${{ secrets.REPO_TOKEN }}
236-
267+
237268 - name : Publish Manifest
238269 if : ${{ (github.ref == 'refs/heads/dev' && github.event_name != 'workflow_dispatch') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' }}
239270 uses : VirtoCommerce/vc-github-actions/publish-manifest@master
@@ -278,7 +309,7 @@ jobs:
278309 if : ${{ ((github.ref == 'refs/heads/dev') && (github.event_name == 'push')) ||
279310 (github.event_name == 'workflow_dispatch') || ((github.base_ref == 'dev') && (github.event_name == 'pull_request')) }}
280311 needs : ' ci'
281- uses : VirtoCommerce/.github/.github/workflows/ui-autotests.yml@v3.800.17
312+ uses : VirtoCommerce/.github/.github/workflows/ui-autotests.yml@v3.800.22
282313 with :
283314 installModules : ' false'
284315 installCustomModule : ' true'
@@ -290,12 +321,12 @@ jobs:
290321 secrets :
291322 envPAT : ${{ secrets.REPO_TOKEN }}
292323 testSecretEnvFile : ${{ secrets.VC_TESTING_MODULE_ENV_FILE }}
293-
324+
294325 module-katalon-tests :
295326 if : ${{ ((github.ref == 'refs/heads/dev') && (github.event_name == 'push') && (needs.ci.outputs.run-e2e == 'true')) ||
296327 (github.event_name == 'workflow_dispatch') || (github.base_ref == 'dev') && (github.event_name == 'pull_request') }}
297328 needs : ' ci'
298- uses : VirtoCommerce/.github/.github/workflows/e2e.yml@v3.800.17
329+ uses : VirtoCommerce/.github/.github/workflows/e2e.yml@v3.800.22
299330 with :
300331 katalonRepo : ' VirtoCommerce/vc-quality-gate-katalon'
301332 katalonRepoBranch : ' dev'
@@ -304,6 +335,7 @@ jobs:
304335 installCustomModule : ' true'
305336 customModuleId : ${{ needs.ci.outputs.moduleId }}
306337 customModuleUrl : ${{ needs.ci.outputs.artifactUrl }}
338+ requiredModulesListUrl : ${{ needs.ci.outputs.requiredModulesListUrl }}
307339 platformDockerTag : ' dev-linux-latest'
308340 storefrontDockerTag : ' dev-linux-latest'
309341 secrets :
@@ -315,7 +347,7 @@ jobs:
315347 && github.event_name == 'push'
316348 && needs.ci.outputs.deployment-folder-exists == 'true'}}
317349 needs : ci
318- uses : VirtoCommerce/.github/.github/workflows/deploy-cloud.yml@v3.800.17
350+ uses : VirtoCommerce/.github/.github/workflows/deploy-cloud.yml@v3.800.22
319351 with :
320352 releaseSource : module
321353 moduleId : ${{ needs.ci.outputs.moduleId }}
0 commit comments