@@ -41,84 +41,13 @@ jobs:
41
41
echo "matrix=[\"latest\"]" >> $GITHUB_OUTPUT
42
42
fi
43
43
44
- e2e :
45
- needs : setup
46
- runs-on : ubuntu-latest
47
- strategy :
48
- fail-fast : false
49
- matrix :
50
- version : ${{ fromJson(needs.setup.outputs.matrix) }}
51
- shard : [1, 2, 3, 4, 5]
52
-
53
- steps :
54
- - uses : actions/checkout@v4
55
- - name : ' Install Node'
56
- uses : actions/setup-node@v4
57
- with :
58
- node-version : ' 18.x'
59
- cache : ' npm'
60
- cache-dependency-path : ' **/package-lock.json'
61
- - uses : oven-sh/setup-bun@v1
62
- - name : setup pnpm/yarn
63
- run : |
64
- npm install -g corepack
65
- corepack enable
66
- shell : bash
67
- - name : Install Deno
68
- uses : denoland/setup-deno@v1
69
- with :
70
- # Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
71
- deno-version : v1.44.4
72
- - name : ' Install dependencies'
73
- run : npm ci
74
- - name : ' Prepare Netlify CLI'
75
- env :
76
- NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
77
- run : |
78
- # Control netlify-cli as a regular dev dep but expose it globally for test fixtures to use
79
- npm install -g "netlify-cli@$(npm list --json --depth=0 netlify-cli | jq -r ".dependencies[\"netlify-cli\"].version")"
80
- npx netlify login
81
- - name : Get installed Playwright version
82
- id : playwright-version
83
- run : echo "version=$(npm view @playwright/test version)" >> $GITHUB_OUTPUT
84
- - uses : actions/cache@v4
85
- id : playwright-cache
86
- with :
87
- path : ' ~/.cache/ms-playwright'
88
- key : ' ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}'
89
- restore-keys : |
90
- ${{ runner.os }}-playwright-
91
- - name : Install Playwright Browsers
92
- if : steps.playwright-cache.outputs.cache-hit != 'true'
93
- run : npx playwright install --with-deps
94
- - name : Resolve Next.js version
95
- id : resolve-next-version
96
- shell : bash
97
- run : |
98
- RESOLVED_VERSION=$(npm view next@${{ matrix.version }} version)
99
- echo "version=$RESOLVED_VERSION" >> $GITHUB_OUTPUT
100
- echo "Resolved Next.js version for 'next@${{ matrix.version }}' is '$RESOLVED_VERSION'"
101
- - name : Run Playwright tests
102
- run : npm run test:ci:e2e -- --shard=${{ matrix.shard }}/5
103
- env :
104
- NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
105
- NEXT_VERSION : ${{ matrix.version }}
106
- NEXT_RESOLVED_VERSION : ${{ steps.resolve-next-version.outputs.version }}
107
- - name : Upload blob report to GitHub Actions Artifacts
108
- uses : actions/upload-artifact@v4
109
- if : always()
110
- with :
111
- name : blob-report-${{matrix.version}}-${{ matrix.shard }}
112
- path : blob-report
113
- retention-days : 1
114
-
115
44
test :
116
45
needs : setup
117
46
runs-on : ${{ matrix.os }}
118
47
strategy :
119
48
fail-fast : false
120
49
matrix :
121
- shard : [1, 2, 3, 4, 5, 6, 7, 8 ]
50
+ shard : [6 ]
122
51
os : [ubuntu-latest, windows-latest]
123
52
version : ${{ fromJson(needs.setup.outputs.matrix) }}
124
53
steps :
@@ -236,39 +165,3 @@ jobs:
236
165
NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
237
166
NEXT_VERSION : ${{ matrix.version }}
238
167
NEXT_RESOLVED_VERSION : ${{ steps.resolve-next-version.outputs.version }}
239
-
240
- merge-reports :
241
- if : always()
242
- needs : [setup,e2e]
243
- strategy :
244
- fail-fast : false
245
- matrix :
246
- version : ${{ fromJson(needs.setup.outputs.matrix) }}
247
-
248
- runs-on : ubuntu-latest
249
- steps :
250
- - uses : actions/checkout@v4
251
- - uses : actions/setup-node@v4
252
- with :
253
- node-version : 18
254
- - name : Install dependencies
255
- run : npm ci
256
-
257
- - name : Download blob reports from GitHub Actions Artifacts
258
- uses : actions/download-artifact@v4
259
- with :
260
- path : all-blob-reports
261
- pattern : blob-report-${{ matrix.version }}-*
262
- merge-multiple : true
263
-
264
- - name : Merge reports
265
- run : |
266
- npx playwright merge-reports --reporter html ./all-blob-reports
267
- npx playwright merge-reports --reporter json ./all-blob-reports > merged_reports.json
268
-
269
- - name : Upload HTML report
270
- uses : actions/upload-artifact@v4
271
- with :
272
- name : html-report-${{ matrix.version }}-attempt-${{ github.run_attempt }}
273
- path : playwright-report
274
- retention-days : 14
0 commit comments