1
- name : " Run tests"
1
+ name : ' Run tests'
2
2
on :
3
3
pull_request :
4
4
branches : [main]
5
5
schedule :
6
- - cron : " 0 6 * * *" # Run every day at 6am UTC
6
+ - cron : ' 0 6 * * *' # Run every day at 6am UTC
7
7
workflow_dispatch :
8
8
inputs :
9
9
versions :
10
- description : " The versions of Next.js to test against (quoted and comma separated)"
10
+ description : ' The versions of Next.js to test against (quoted and comma separated)'
11
11
required : false
12
- default : " latest"
12
+ default : ' latest'
13
13
14
14
jobs :
15
15
setup :
@@ -65,12 +65,12 @@ jobs:
65
65
fi
66
66
echo "version=$NODE_VERSION" >> $GITHUB_OUTPUT
67
67
echo "Node version for 'next@${{ matrix.version }}' is '$NODE_VERSION'"
68
- - name : " Install Node"
68
+ - name : ' Install Node'
69
69
uses : actions/setup-node@v5
70
70
with :
71
71
node-version : ${{ steps.decide-node-version.outputs.version }}
72
- cache : " npm"
73
- cache-dependency-path : " **/package-lock.json"
72
+ cache : ' npm'
73
+ cache-dependency-path : ' **/package-lock.json'
74
74
- uses : oven-sh/setup-bun@v2
75
75
- name : setup pnpm/yarn
76
76
run : |
82
82
with :
83
83
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
84
84
deno-version : v2.2.4
85
- - name : " Install dependencies"
85
+ - name : ' Install dependencies'
86
86
run : npm ci
87
- - name : " Prepare Netlify CLI"
87
+ - name : ' Prepare Netlify CLI'
88
88
env :
89
89
NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
90
90
run : |
97
97
- uses : actions/cache@v4
98
98
id : playwright-cache
99
99
with :
100
- path : " ~/.cache/ms-playwright"
101
- key : " ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}"
100
+ path : ' ~/.cache/ms-playwright'
101
+ key : ' ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}'
102
102
restore-keys : |
103
103
${{ runner.os }}-playwright-
104
104
- name : Install Playwright Browsers
@@ -124,13 +124,6 @@ jobs:
124
124
name : blob-report-${{matrix.version}}-${{ matrix.shard }}
125
125
path : blob-report
126
126
retention-days : 1
127
- - name : Upload debug artifacts
128
- uses : actions/upload-artifact@v4
129
- if : always()
130
- with :
131
- name : debug-artifacts-${{matrix.version}}-${{ matrix.shard }}
132
- path : debug-artifacts
133
- retention-days : 1
134
127
135
128
test :
136
129
needs : setup
@@ -142,9 +135,9 @@ jobs:
142
135
version : ${{ fromJson(needs.setup.outputs.matrix) }}
143
136
exclude :
144
137
- os : windows-2025
145
- version : " 13.5.1"
138
+ version : ' 13.5.1'
146
139
- os : windows-2025
147
- version : " 14.2.15"
140
+ version : ' 14.2.15'
148
141
runs-on : ${{ matrix.os }}
149
142
steps :
150
143
- uses : actions/checkout@v5
@@ -161,12 +154,12 @@ jobs:
161
154
fi
162
155
echo "version=$NODE_VERSION" >> $GITHUB_OUTPUT
163
156
echo "Node version for 'next@${{ matrix.version }}' is '$NODE_VERSION'"
164
- - name : " Install Node"
157
+ - name : ' Install Node'
165
158
uses : actions/setup-node@v5
166
159
with :
167
160
node-version : ${{ steps.decide-node-version.outputs.version }}
168
- cache : " npm"
169
- cache-dependency-path : " **/package-lock.json"
161
+ cache : ' npm'
162
+ cache-dependency-path : ' **/package-lock.json'
170
163
- name : Prefer npm global on windows
171
164
if : runner.os == 'Windows'
172
165
# On Windows by default PATH prefers corepack bundled with Node.js
@@ -185,11 +178,11 @@ jobs:
185
178
with :
186
179
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/edge-bundler/blob/e55f825bd985d3c92e21d1b765d71e70d5628fba/node/bridge.ts#L17
187
180
deno-version : v2.2.4
188
- - name : " Install dependencies"
181
+ - name : ' Install dependencies'
189
182
run : npm ci
190
- - name : " Build"
183
+ - name : ' Build'
191
184
run : npm run build
192
- - name : " Vendor deno helpers for integration tests"
185
+ - name : ' Vendor deno helpers for integration tests'
193
186
run : node tools/vendor-deno-tools.js
194
187
- name : Resolve Next.js version
195
188
id : resolve-next-version
@@ -214,13 +207,13 @@ jobs:
214
207
key :
215
208
integration-fixtures-${{ runner.os }}-${{steps.resolve-next-version.outputs.version}}-${{
216
209
steps.fixture-cache-key.outputs.key }}
217
- - name : " Prepare Fixtures"
210
+ - name : ' Prepare Fixtures'
218
211
if : steps.cache-fixtures.outputs.cache-hit != 'true'
219
212
run : npm run pretest
220
213
env :
221
214
NEXT_VERSION : ${{ matrix.version }}
222
215
NEXT_RESOLVED_VERSION : ${{ steps.resolve-next-version.outputs.version }}
223
- - name : " Unit and integration tests"
216
+ - name : ' Unit and integration tests'
224
217
run : npm run test:ci:unit-and-integration -- --shard=${{ matrix.shard }}/8
225
218
env :
226
219
NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
@@ -251,12 +244,12 @@ jobs:
251
244
fi
252
245
echo "version=$NODE_VERSION" >> $GITHUB_OUTPUT
253
246
echo "Node version for 'next@${{ matrix.version }}' is '$NODE_VERSION'"
254
- - name : " Install Node"
247
+ - name : ' Install Node'
255
248
uses : actions/setup-node@v5
256
249
with :
257
250
node-version : ${{ steps.decide-node-version.outputs.version }}
258
- cache : " npm"
259
- cache-dependency-path : " **/package-lock.json"
251
+ cache : ' npm'
252
+ cache-dependency-path : ' **/package-lock.json'
260
253
- name : setup pnpm/yarn
261
254
run : corepack enable
262
255
shell : bash
@@ -265,11 +258,11 @@ jobs:
265
258
with :
266
259
# Should match the `DENO_VERSION_RANGE` from https://github.com/netlify/build/blob/main/packages/edge-bundler/node/bridge.ts#L20
267
260
deno-version : v2.2.4
268
- - name : " Install dependencies"
261
+ - name : ' Install dependencies'
269
262
run : npm ci
270
- - name : " Build"
263
+ - name : ' Build'
271
264
run : npm run build
272
- - name : " Prepare Netlify CLI"
265
+ - name : ' Prepare Netlify CLI'
273
266
env :
274
267
NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
275
268
run : |
@@ -283,7 +276,7 @@ jobs:
283
276
RESOLVED_VERSION=$(npm view next@${{ matrix.version }} version)
284
277
echo "version=$RESOLVED_VERSION" >> $GITHUB_OUTPUT
285
278
echo "Resolved Next.js version for 'next@${{ matrix.version }}' is '$RESOLVED_VERSION'"
286
- - name : " Smoke tests"
279
+ - name : ' Smoke tests'
287
280
run : npm run test:ci:smoke
288
281
env :
289
282
NETLIFY_AUTH_TOKEN : ${{ secrets.NETLIFY_AUTH_TOKEN }}
@@ -292,36 +285,36 @@ jobs:
292
285
293
286
merge-reports :
294
287
if : always()
295
- needs : [setup, e2e]
288
+ needs : [setup,e2e]
296
289
strategy :
297
290
fail-fast : false
298
291
matrix :
299
292
version : ${{ fromJson(needs.setup.outputs.matrix) }}
300
293
301
294
runs-on : ubuntu-latest
302
295
steps :
303
- - uses : actions/checkout@v5
304
- - uses : actions/setup-node@v5
305
- with :
306
- node-version : 18
307
- - name : Install dependencies
308
- run : npm ci
296
+ - uses : actions/checkout@v5
297
+ - uses : actions/setup-node@v5
298
+ with :
299
+ node-version : 18
300
+ - name : Install dependencies
301
+ run : npm ci
309
302
310
- - name : Download blob reports from GitHub Actions Artifacts
311
- uses : actions/download-artifact@v5
312
- with :
313
- path : all-blob-reports
314
- pattern : blob-report-${{ matrix.version }}-*
315
- merge-multiple : true
303
+ - name : Download blob reports from GitHub Actions Artifacts
304
+ uses : actions/download-artifact@v5
305
+ with :
306
+ path : all-blob-reports
307
+ pattern : blob-report-${{ matrix.version }}-*
308
+ merge-multiple : true
316
309
317
- - name : Merge reports
318
- run : |
319
- npx playwright merge-reports --reporter html ./all-blob-reports
320
- npx playwright merge-reports --reporter json ./all-blob-reports > merged_reports.json
310
+ - name : Merge reports
311
+ run : |
312
+ npx playwright merge-reports --reporter html ./all-blob-reports
313
+ npx playwright merge-reports --reporter json ./all-blob-reports > merged_reports.json
321
314
322
- - name : Upload HTML report
323
- uses : actions/upload-artifact@v4
324
- with :
325
- name : html-report-${{ matrix.version }}-attempt-${{ github.run_attempt }}
326
- path : playwright-report
327
- retention-days : 14
315
+ - name : Upload HTML report
316
+ uses : actions/upload-artifact@v4
317
+ with :
318
+ name : html-report-${{ matrix.version }}-attempt-${{ github.run_attempt }}
319
+ path : playwright-report
320
+ retention-days : 14
0 commit comments