5353 if ('${{ github.event_name }}' === 'workflow_dispatch') {
5454 core.setOutput('matrix', '${{ github.event.inputs.versions }}');
5555 } else if ('${{ github.event_name }}' === 'schedule' || versionsToTest === 'all') {
56- core.setOutput('matrix', '["latest", "canary", "14.2.15 ", "13.5.1"]');
56+ core.setOutput('matrix', '["latest", "canary", "15.5.9", " 14.2.35 ", "13.5.1"]');
5757 } else if (versionsToTest === 'latest-and-canary') {
5858 core.setOutput('matrix', '["latest", "canary"]');
5959 } else {
@@ -68,13 +68,21 @@ jobs:
6868
6969 e2e :
7070 needs : setup
71- runs-on : ubuntu-latest
7271 strategy :
7372 fail-fast : false
7473 matrix :
74+ os : ${{ fromJson(needs.setup.outputs.os) }}
7575 version : ${{ fromJson(needs.setup.outputs.matrix) }}
7676 shard : [1, 2, 3, 4, 5]
77+ exclude :
78+ - os : windows-2025
79+ version : " 13.5.1"
80+ - os : windows-2025
81+ version : " 14.2.35"
82+ - os : windows-2025
83+ version : " 15.5.9"
7784
85+ runs-on : ${{ matrix.os }}
7886 steps :
7987 - uses : actions/checkout@v6
8088 - name : Resolve Next.js version
@@ -145,7 +153,7 @@ jobs:
145153 uses : actions/upload-artifact@v5
146154 if : always()
147155 with :
148- name : blob-report-${{matrix.version}}-${{ matrix.shard }}
156+ name : blob-report-${{matrix.version}}-${{ matrix.shard }}-${{ matrix.os }}
149157 path : blob-report
150158 retention-days : 1
151159
@@ -161,7 +169,10 @@ jobs:
161169 - os : windows-2025
162170 version : " 13.5.1"
163171 - os : windows-2025
164- version : " 14.2.15"
172+ version : " 14.2.35"
173+ - os : windows-2025
174+ version : " 15.5.9"
175+
165176 runs-on : ${{ matrix.os }}
166177 steps :
167178 - uses : actions/checkout@v6
@@ -248,11 +259,14 @@ jobs:
248259 smoke :
249260 if : always()
250261 needs : setup
251- runs-on : ubuntu-latest
262+
252263 strategy :
253264 fail-fast : false
254265 matrix :
266+ os : ${{ fromJson(needs.setup.outputs.os) }}
255267 version : ${{ fromJson(needs.setup.outputs.matrix) }}
268+
269+ runs-on : ${{ matrix.os }}
256270 steps :
257271 - uses : actions/checkout@v6
258272 - name : Resolve Next.js version
@@ -312,6 +326,8 @@ jobs:
312326 strategy :
313327 fail-fast : false
314328 matrix :
329+ # we do have per OS runs, but we don't need to run on windows to merge reports
330+ os : ${{ fromJson(needs.setup.outputs.os) }}
315331 version : ${{ fromJson(needs.setup.outputs.matrix) }}
316332
317333 runs-on : ubuntu-latest
@@ -338,6 +354,6 @@ jobs:
338354 - name : Upload HTML report
339355 uses : actions/upload-artifact@v5
340356 with :
341- name : html-report-${{ matrix.version }}-attempt-${{ github.run_attempt }}
357+ name : html-report-${{ matrix.version }}-attempt-${{ github.run_attempt }}-${{ matrix.os }}
342358 path : playwright-report
343359 retention-days : 14
0 commit comments