@@ -230,7 +230,7 @@ jobs:
230
230
SENTRY_PROJECT : ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_PROJECT || ''}}
231
231
SENTRY_ENVIRONMENT : ' production'
232
232
DAPP_RADAR_API_KEY : ${{ startsWith(github.ref, 'refs/heads/release') && secrets.DAPP_RADAR_API_KEY || '' }}
233
-
233
+
234
234
build :
235
235
name : Build Lace
236
236
runs-on : ubuntu-22.04
@@ -239,9 +239,33 @@ jobs:
239
239
- name : Checkout repository
240
240
uses : actions/checkout@v4
241
241
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
243
266
uses : ./.github/shared/build
244
267
with :
268
+ BROWSER_TARGET : ' firefox'
245
269
GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
246
270
LACE_EXTENSION_KEY : ${{ secrets.MANIFEST_PUBLIC_KEY }}
247
271
BLOCKFROST_PROJECT_ID_MAINNET : ${{ secrets.BLOCKFROST_PROJECT_ID_MAINNET }}
@@ -255,104 +279,91 @@ jobs:
255
279
SENTRY_ENVIRONMENT : ' smoke-tests'
256
280
WALLET_POLLING_INTERVAL_IN_SEC : 5
257
281
258
- - name : Upload build artifact
282
+ - name : Upload firefox artifact
259
283
uses : actions/upload-artifact@v4
260
284
with :
261
- name : ' ${{ env.BUILD_ARTIFACT_NAME }}'
285
+ name : ' ${{ env.BUILD_ARTIFACT_NAME }}-firefox '
262
286
path : ./apps/browser-extension-wallet/dist
263
287
264
- smokeTests :
265
- name : Smoke e2e tests
288
+ smokeTests-chrome :
289
+ name : Smoke e2e tests - Chrome
266
290
runs-on : ubuntu-22.04
267
291
needs : build
268
292
strategy :
269
293
fail-fast : false
270
294
matrix :
271
295
batch : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
296
+
272
297
steps :
273
298
- name : Checkout repository
274
299
uses : actions/checkout@v4
275
300
276
- - name : Setup Node.js and install dependencies
277
- uses : ./.github/actions/install
301
+ - name : Execute E2E tests
302
+ uses : ./.github/actions/test/smoke
278
303
with :
304
+ BROWSER : " chrome"
305
+ BATCH : ${{ matrix.batch }}
306
+ TEST_DAPP_URL : ${{ secrets.TEST_DAPP_URL }}
279
307
WALLET_PASSWORD : ${{ secrets.WALLET_PASSWORD_TESTNET }}
280
- GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
308
+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
281
309
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
287
340
288
341
- name : Execute E2E tests
289
- uses : ./.github/actions/test/e2e
342
+ uses : ./.github/actions/test/smoke
290
343
with :
344
+ BROWSER : ' firefox'
291
345
BATCH : ${{ matrix.batch }}
292
- SMOKE_ONLY : true
293
346
TEST_DAPP_URL : ${{ secrets.TEST_DAPP_URL }}
294
347
WALLET_PASSWORD : ${{ secrets.WALLET_PASSWORD_TESTNET }}
295
- SERVICE_WORKER_LOGS : true
348
+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
296
349
297
- processReports :
298
- name : Process smoke e2e test reports
350
+ processReports-firefox :
351
+ name : Process smoke e2e test reports - Firefox
299
352
runs-on : ubuntu-22.04
300
- needs : smokeTests
353
+ needs : smokeTests-firefox
301
354
if : always()
302
355
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
-
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 }}
356
367
357
368
if-core-changed :
358
369
name : When core changed
0 commit comments