@@ -230,7 +230,7 @@ jobs:
230230 SENTRY_PROJECT : ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_PROJECT || ''}}
231231 SENTRY_ENVIRONMENT : ' production'
232232 DAPP_RADAR_API_KEY : ${{ startsWith(github.ref, 'refs/heads/release') && secrets.DAPP_RADAR_API_KEY || '' }}
233-
233+
234234 build :
235235 name : Build Lace
236236 runs-on : ubuntu-22.04
@@ -239,9 +239,33 @@ jobs:
239239 - name : Checkout repository
240240 uses : actions/checkout@v4
241241
242- - name : Build Lace artifact
242+ - name : Build Lace chrome artifact
243+ uses : ./.github/shared/build
244+ with :
245+ BROWSER_TARGET : ' chromium'
246+ GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
247+ LACE_EXTENSION_KEY : ${{ secrets.MANIFEST_PUBLIC_KEY }}
248+ BLOCKFROST_PROJECT_ID_MAINNET : ${{ secrets.BLOCKFROST_PROJECT_ID_MAINNET }}
249+ BLOCKFROST_PROJECT_ID_PREPROD : ${{ secrets.BLOCKFROST_PROJECT_ID_PREPROD }}
250+ BLOCKFROST_PROJECT_ID_PREVIEW : ${{ secrets.BLOCKFROST_PROJECT_ID_PREVIEW }}
251+ BLOCKFROST_PROJECT_ID_SANCHONET : ${{ secrets.BLOCKFROST_PROJECT_ID_SANCHONET }}
252+ SENTRY_AUTH_TOKEN : ${{ startsWith(github.ref, 'refs/heads/release') && secrets.SENTRY_AUTH_TOKEN || '' }}
253+ SENTRY_DSN : ${{ secrets.SENTRY_DSN }}
254+ SENTRY_ORG : ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_ORG || '' }}
255+ SENTRY_PROJECT : ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_PROJECT || ''}}
256+ SENTRY_ENVIRONMENT : ' smoke-tests'
257+ WALLET_POLLING_INTERVAL_IN_SEC : 5
258+
259+ - name : Upload chrome artifact
260+ uses : actions/upload-artifact@v4
261+ with :
262+ name : ' ${{ env.BUILD_ARTIFACT_NAME }}-chrome'
263+ path : ./apps/browser-extension-wallet/dist
264+
265+ - name : Build Lace firefox artifact
243266 uses : ./.github/shared/build
244267 with :
268+ BROWSER_TARGET : ' firefox'
245269 GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
246270 LACE_EXTENSION_KEY : ${{ secrets.MANIFEST_PUBLIC_KEY }}
247271 BLOCKFROST_PROJECT_ID_MAINNET : ${{ secrets.BLOCKFROST_PROJECT_ID_MAINNET }}
@@ -255,104 +279,91 @@ jobs:
255279 SENTRY_ENVIRONMENT : ' smoke-tests'
256280 WALLET_POLLING_INTERVAL_IN_SEC : 5
257281
258- - name : Upload build artifact
282+ - name : Upload firefox artifact
259283 uses : actions/upload-artifact@v4
260284 with :
261- name : ' ${{ env.BUILD_ARTIFACT_NAME }}'
285+ name : ' ${{ env.BUILD_ARTIFACT_NAME }}-firefox '
262286 path : ./apps/browser-extension-wallet/dist
263287
264- smokeTests :
265- name : Smoke e2e tests
288+ smokeTests-chrome :
289+ name : Smoke e2e tests - Chrome
266290 runs-on : ubuntu-22.04
267291 needs : build
268292 strategy :
269293 fail-fast : false
270294 matrix :
271295 batch : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
296+
272297 steps :
273298 - name : Checkout repository
274299 uses : actions/checkout@v4
275300
276- - name : Setup Node.js and install dependencies
277- uses : ./.github/actions/install
301+ - name : Execute E2E tests
302+ uses : ./.github/actions/test/smoke
278303 with :
304+ BROWSER : " chrome"
305+ BATCH : ${{ matrix.batch }}
306+ TEST_DAPP_URL : ${{ secrets.TEST_DAPP_URL }}
279307 WALLET_PASSWORD : ${{ secrets.WALLET_PASSWORD_TESTNET }}
280- GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
308+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
281309
282- - name : Download Lace build artifact
283- uses : actions/download-artifact@v4
284- with :
285- name : ' ${{ env.BUILD_ARTIFACT_NAME }}'
286- path : ./apps/browser-extension-wallet/dist
310+ processReports-chrome :
311+ name : Process smoke e2e test reports - Chrome
312+ runs-on : ubuntu-22.04
313+ needs : smokeTests-chrome
314+ if : always()
315+ steps :
316+ - name : Call process reports workflow
317+ uses : ./.github/actions/test/reports
318+ with :
319+ BROWSER : ' chrome'
320+ SMOKE_TESTS_RESULT : ${{ needs.smokeTests-chrome.result }}
321+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
322+ E2E_AWS_ACCESS_KEY_ID : ${{ secrets.E2E_AWS_ACCESS_KEY_ID }}
323+ E2E_AWS_SECRET_ACCESS_KEY : ${{ secrets.E2E_AWS_SECRET_ACCESS_KEY }}
324+ E2E_REPORTS_USER : ${{ secrets.E2E_REPORTS_USER }}
325+ E2E_REPORTS_PASSWORD : ${{ secrets.E2E_REPORTS_PASSWORD }}
326+ E2E_REPORTS_URL : ${{ secrets.E2E_REPORTS_URL }}
327+
328+ smokeTests-firefox :
329+ name : Smoke e2e tests - Firefox
330+ runs-on : ubuntu-22.04
331+ needs : smokeTests-chrome
332+ strategy :
333+ fail-fast : false
334+ matrix :
335+ batch : [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]
336+
337+ steps :
338+ - name : Checkout repository
339+ uses : actions/checkout@v4
287340
288341 - name : Execute E2E tests
289- uses : ./.github/actions/test/e2e
342+ uses : ./.github/actions/test/smoke
290343 with :
344+ BROWSER : ' firefox'
291345 BATCH : ${{ matrix.batch }}
292- SMOKE_ONLY : true
293346 TEST_DAPP_URL : ${{ secrets.TEST_DAPP_URL }}
294347 WALLET_PASSWORD : ${{ secrets.WALLET_PASSWORD_TESTNET }}
295- SERVICE_WORKER_LOGS : true
348+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
296349
297- processReports :
298- name : Process smoke e2e test reports
350+ processReports-firefox :
351+ name : Process smoke e2e test reports - Firefox
299352 runs-on : ubuntu-22.04
300- needs : smokeTests
353+ needs : smokeTests-firefox
301354 if : always()
302355 steps :
303- - name : Download all smoke tests artifacts
304- uses : actions/download-artifact@v4
305- with :
306- path : .
307- pattern : ' runner-artifacts-*'
308- merge-multiple : true
309-
310- - name : Create allure properties
311- shell : bash
312- if : always()
313- working-directory : ./reports/allure/results
314- run : |
315- echo "
316- branch=${{ github.ref_name }}
317- browser= 'Chrome'
318- tags= '@Smoke'
319- platform=Linux
320- " > environment.properties
321-
322- - name : Publish allure report to S3
323- uses : andrcuns/allure-publish-action@v2.9.0
324- if : always()
325- env :
326- GITHUB_AUTH_TOKEN : ${{ secrets.GH_TOKEN }}
327- AWS_ACCESS_KEY_ID : ${{ secrets.E2E_AWS_ACCESS_KEY_ID }}
328- AWS_SECRET_ACCESS_KEY : ${{ secrets.E2E_AWS_SECRET_ACCESS_KEY }}
329- with :
330- storageType : s3
331- resultsGlob : ' ./reports/allure/results'
332- bucket : lace-e2e-test-results
333- prefix : ' smoke/linux/chrome/${{ github.run_number }}'
334- copyLatest : true
335- ignoreMissingResults : true
336- updatePr : comment
337- baseUrl : ' https://${{ secrets.E2E_REPORTS_USER }}:${{ secrets.E2E_REPORTS_PASSWORD }}@${{ secrets.E2E_REPORTS_URL }}'
338-
339- - name : Publish artifacts (logs, reports, screenshots)
340- uses : actions/upload-artifact@v4
341- if : always()
342- with :
343- name : test-artifacts
344- path : |
345- ./packages/e2e-tests/screenshots
346- ./packages/e2e-tests/logs
347- ./packages/e2e-tests/reports
348- retention-days : 5
349-
350- - run : |
351- if [[ ${{ needs.smokeTests.result }} == "success" ]]; then
352- exit 0
353- else
354- exit 1
355- fi
356+ - name : Call process reports workflow
357+ uses : ./.github/actions/test/reports
358+ with :
359+ BROWSER : ' firefox'
360+ SMOKE_TESTS_RESULT : ${{ needs.smokeTests-firefox.result }}
361+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
362+ E2E_AWS_ACCESS_KEY_ID : ${{ secrets.E2E_AWS_ACCESS_KEY_ID }}
363+ E2E_AWS_SECRET_ACCESS_KEY : ${{ secrets.E2E_AWS_SECRET_ACCESS_KEY }}
364+ E2E_REPORTS_USER : ${{ secrets.E2E_REPORTS_USER }}
365+ E2E_REPORTS_PASSWORD : ${{ secrets.E2E_REPORTS_PASSWORD }}
366+ E2E_REPORTS_URL : ${{ secrets.E2E_REPORTS_URL }}
356367
357368 if-core-changed :
358369 name : When core changed
0 commit comments