ci: run the coverage gate in a parallel job (#2159)
`build` ran `npm run validate` and `npm run coverage` back to back, and on a recent green run those two steps were 84% of a 17m9s wall clock (7m41 + 6m50). They are serial for no reason: `coverage` consumes nothing `validate` produces. Every client's `test:coverage` is self-sufficient — web and cli build the test servers themselves (cli its own bin too), tui and launcher run from source — and the only consumers of `clients/*/build` are the smokes, which stay in `build` alongside the `validate` that produces them. So split `coverage` into a sibling job. Both publish jobs become `needs: [build, coverage]`: that is the safety property, not a side effect — left as `needs: build` a release could publish with the coverage gate red. Deliberately NOT backgrounding the two inside one job: that puts two vitest fleets on one 4-core runner, which already times tests out at the 5s default. Wall clock ~17m -> ~10m, for one extra runner and a duplicated ~24s install. Splitting `coverage` per client is the next lever and stays out of scope. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177mPHAdECD18nLLCTwR5rh Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
6c9c149406
commit
9cd06598a4
1 changed files with 53 additions and 22 deletions
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue