@@ -2,56 +2,66 @@ name: Run E2E test nightly
22# This workflow is used to test our widgets nightly.
33
44on :
5- schedule :
6- # At 02:00 on every day-of-week.
7- - cron : " 0 02 * * 1-5"
5+ schedule :
6+ # At 02:00 on every day-of-week.
7+ - cron : " 0 02 * * 1-5"
8+
9+ concurrency :
10+ group : ${{ github.workflow }}-${{ github.ref }}
11+ cancel-in-progress : true
812
913jobs :
10- e2e :
11- name : Run automated end-to-end tests nightly
12- runs-on : ubuntu-latest
13-
14- permissions :
15- packages : read
16- contents : read
17-
18- steps :
19- - name : Checkout
20- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21- with :
22- fetch-depth : 0
23- - name : Setup pnpm
24- uses : pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0
25-
26- - name : Setup node
27- uses : actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
28- with :
29- node-version-file : " .nvmrc"
30- cache : " pnpm"
31-
32- - name : Install dependencies
33- run : pnpm install
34-
35- - name : Install Playwright Browsers
36- run : pnpm exec playwright install --with-deps chromium
37-
38- - name : Executing E2E tests
39- env :
40- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
41- run : pnpm -r --workspace-concurrency=1 --no-bail run e2e
42-
43- - name : Fixing files permissions
44- if : failure()
45- run : |
46- sudo find ${{ github.workspace }}/packages/* -type d -exec chmod 755 {} \;
47- sudo find ${{ github.workspace }}/packages/* -type f -exec chmod 644 {} \;
48-
49- - name : Archive test screenshot diff results
50- uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
51- if : failure()
52- with :
53- name : test-screenshot-results
54- path : |
55- ${{ github.workspace }}/packages/**/**/test-results/**/*.png
56- ${{ github.workspace }}/packages/**/**/test-results/**/*.zip
57- if-no-files-found : error
14+ e2e :
15+ name : Run automated end-to-end tests nightly
16+ runs-on : ubuntu-latest
17+
18+ permissions :
19+ packages : read
20+ contents : read
21+
22+ strategy :
23+ fail-fast : false
24+ matrix :
25+ index : [0, 1, 2, 3]
26+
27+ steps :
28+ - name : Checkout
29+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
30+ with :
31+ fetch-depth : 0
32+ - name : Setup pnpm
33+ uses : pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0
34+
35+ - name : Setup node
36+ uses : actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
37+ with :
38+ node-version-file : " .nvmrc"
39+ cache : " pnpm"
40+
41+ - name : Install dependencies
42+ run : pnpm install
43+
44+ - name : Install Playwright Browsers
45+ run : pnpm exec playwright install --with-deps chromium
46+
47+ - name : Executing E2E tests
48+ env :
49+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
50+ run : >-
51+ node ./automation/run-e2e/bin/run-e2e-in-chunks.mjs --chunks 4 --index ${{ matrix.index }} --event-name ${{ github.event_name }}
52+
53+ - name : Fixing files permissions
54+ if : failure()
55+ run : |
56+ sudo find ${{ github.workspace }}/packages/* -type d -exec chmod 755 {} \;
57+ sudo find ${{ github.workspace }}/packages/* -type f -exec chmod 644 {} \;
58+
59+ - name : Archive test screenshot diff results
60+ uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
61+ if : failure()
62+ with :
63+ name : test-screenshot-results-${{ matrix.index }}
64+ path : |
65+ ${{ github.workspace }}/packages/**/**/test-results/**/*.png
66+ ${{ github.workspace }}/packages/**/**/test-results/**/*.zip
67+ if-no-files-found : error
0 commit comments