ci: decouple playwright/kani/rocq from needs:[test] (#299)#300
Open
avrabe wants to merge 1 commit into
Open
Conversation
When the self-hosted rust-cpu pool saturates (rivet-core mutation testing held it for ~4 hours on 2026-05-17), the entire downstream CI tree blocks because eight jobs chain off `test`. Three of those jobs — playwright (ubuntu-latest), kani (ubuntu-latest), rocq (ubuntu-latest) — have their own runner capacity available and are independent of cargo-test passing: - Playwright runs the release binary end-to-end via npx. - Kani harnesses are bounded model checks against rivet-core source. - Rocq theorem proving runs against vendored .v files. Remove `needs: [test]` from these three jobs (Phase 1 per #299). Untouched (Phase 1 boundary): - coverage / mutants — legitimately re-run the same suite, keep gate. - verus — deferred to Phase 2. - vscode-extension / release-results — Phase 2 audit items. Closes #299.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #299.
Summary
Phase 1 of the CI fan-out de-coupling proposed in #299. When the self-hosted
rust-cpupool saturates (rivet-core mutation testing held it for ~4 hours on 2026-05-17, smithy commit70401cd), the entire downstream CI tree blocks because eight jobs chain offtest. Three of those —playwright,kani,rocq— have their own ubuntu-latest runner capacity available and are independent of cargo-test status.Acceptance criteria from #299
needs: [test]fromplaywright..github/workflows/ci.ymlline ~117. Replaced with a 4-line comment explaining the decoupling and back-referencing ci: decouple playwright/kani/rocq from needs:[test] to reduce blast radius of rust-cpu queue saturation #299. Playwright runs the release binary end-to-end vianpx; cargo-test status is not a precondition.needs: [test]fromkani. Line ~511. Kani harnesses are bounded model checks againstrivet-coresource; they do not read cargo-test status.needs: [test]fromrocq. Line ~594. Rocq theorem proving runs against vendored.vfiles; it does not read cargo-test status.needs: [test]oncoverage. Verified at the remaininggrepline — coverage re-runs the same suite underllvm-covso the dependency is legitimate.needs: [test]onmutants. Verified at the remaininggrepline —mutants(lean-mem) mutation testing intentionally gates on a cleantestbaseline.verusdeferred to Phase 2. Verus still gates ontest; no change in this PR per the issue's "Defer verus to Phase 2" line.After the change, only five
needs: [test]references remain inci.yml:vscode-extension(Phase 2 audit),coverage(kept),mutants(kept),verus(deferred),release-results(Phase 2 fan-in concern).Out of scope (Phase 2, not in this PR)
vscode-extension's dep ontest.release-resultsfan-in.cargo-mutants --jobsor sharding the rivet-core mutation suite.Test plan
grep -n "needs:" .github/workflows/ci.yml— only the five expected references remain (vscode-extension,coverage,mutants,verus,release-results).python3 -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml'))"— workflow is still valid YAML..yamllint.yml): comment lines ≤120 chars, 4-space comment indentation matching surrounding context, no flow-style maps.mainshowsplaywright,kani,rocqstarting in parallel withtestrather than queuing behind it. (Validated only after merge — that's the gate the issue describes.)Commit traceability
citype is exempt from artifact trailers perCLAUDE.md("Exempt types (no trailer needed): chore, style, ci, docs, build."). NoImplements:/Refs:lines required.Generated by Claude Code