ci: shard vitest and split the journeys by project (#939) #940
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/939-critical-path"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #939.
The frontend and journeys jobs each took about 30 min, and both ran serially.
Frontend: two shards, two workers each.
Each CI job gets 2 CPUs. Node reports
availableParallelism = 2, and vitest's default is CPUs − 1, so in CI the suite ran on one worker: 1,603 s against ~160 s on a workstation. Measured locally under the same--cpus 2 --memory 3g:--maxWorkers=2--maxWorkers=2Lint, the build and the audit run once, in shard 1. Job names are now
Frontend (shard 1/2)andFrontend (shard 2/2).Journeys: one job per Playwright project.
The suite is one worker per stack by design: login is rate limited per IP, and there's one shared seeded database. So each project (desktop, phone, keyboard) gets its own job and its own stack: its own
COMPOSE_PROJECT_NAMEand per-project artifact names. No spec changes, andfail-fast: false.needs: dockerstays, because the stack builds from the layers that job just cached.Flaky waits.
Two workers on 2 CPUs failed a PrepSheet wait whose explicit
timeout: 4000was shorter than the suite-wide 5 sasyncUtilTimeout. It now inherits the default. The two waits on the 1 s autosave get 8 s.Watch on this run:
🤖 Generated with Claude Code