File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -189,6 +189,19 @@ jobs:
189189 needs : setup
190190 runs-on : ubuntu-latest
191191 timeout-minutes : 30
192+ # Shard the dev-live project across 3 jobs. Run unsharded, all ~64 headed
193+ # Chrome context launches pile into one --workers=1 worker; on the
194+ # constrained xvfb runner the late launches starve (60s context-setup
195+ # timeout) and the discarded worker can't reap Chrome within the 60s
196+ # teardown window, failing the run as "1 error not part of any test" even
197+ # though every test passes on retry. Locally (fast Mac) the same suite is
198+ # green, so this only bites in CI. ~20 launches/shard keeps each worker far
199+ # below the starve threshold. Verified locally: shards split 24/22/20 = 66.
200+ strategy :
201+ fail-fast : false
202+ matrix :
203+ shard : [1, 2, 3]
204+ name : dev-reload-chromium (shard ${{ matrix.shard }}/3)
192205 steps :
193206 - uses : actions/checkout@v4
194207 - uses : pnpm/action-setup@v4
@@ -222,7 +235,7 @@ jobs:
222235 env :
223236 CI : true
224237 HEADLESS : false
225- run : xvfb-run --auto-servernum --server-args="-screen 0 1280x720x24" pnpm playwright test --workers=1 --project=dev-live
238+ run : xvfb-run --auto-servernum --server-args="-screen 0 1280x720x24" pnpm playwright test --workers=1 --project=dev-live --shard=${{ matrix.shard }}/3
226239
227240 # ──────────────────────────────────────────────────────────────────────────
228241 # Dev reload regression — Firefox
Original file line number Diff line number Diff line change @@ -108,15 +108,6 @@ export default defineConfig({
108108 {
109109 name : 'dev-live' ,
110110 testMatch : / e x a m p l e s \/ t e m p l a t e \. d e v \. s p e c \. t s $ / ,
111- // CI forces --workers=1, so all ~64 context launches for this project
112- // pile into one long-lived worker. The last/heaviest template (vue) then
113- // occasionally needs >60s for its persistent-context launch under that
114- // accumulated load — it succeeds instantly in a fresh worker on retry.
115- // Hitting the 60s test-timeout discards the worker, whose teardown then
116- // also times out and fails the whole run as "1 error not part of any
117- // test", even though every test passed. A larger ceiling lets the slow
118- // launch complete, breaking that cascade. Local runs keep the 30s default.
119- timeout : process . env . CI ? 120_000 : 30_000 ,
120111 use : {
121112 ...devices [ 'Desktop Chrome' ] ,
122113 headless : isHeadless
You can’t perform that action at this time.
0 commit comments