From fa96ddcca5951da4e05cab1bdd59b2dba689b57f Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 17 May 2026 16:09:43 +0000 Subject: [PATCH] ci: decouple playwright/kani/rocq from needs:[test] (#299) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf0d3be..23761fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,7 +114,10 @@ jobs: # ── Playwright E2E ──────────────────────────────────────────────────── playwright: name: Playwright E2E - needs: [test] + # Decoupled from `test` (#299): Playwright runs the release binary + # end-to-end and is independent of cargo-test passing. Keeping it + # gated on `test` blocked an ubuntu-latest job behind self-hosted + # rust-cpu saturation (2026-05-17 incident). # Stays on ubuntu-latest: `npx playwright install --with-deps` runs # `apt-get install` (sudo needed) and pulls in Chromium + a slate # of system libraries. Smithy runners have no sudo. @@ -508,7 +511,10 @@ jobs: # PR-sized subset completes in <20 min. kani: name: Kani Proofs - needs: [test] + # Decoupled from `test` (#299): Kani harnesses are bounded model + # checks against rivet-core; they don't read cargo-test status. + # Keeping the gate blocked an ubuntu-latest job behind self-hosted + # rust-cpu saturation (2026-05-17 incident). # Stays on ubuntu-latest: kani-verifier bundles CBMC (~100 MB), # not pre-installed on smithy. Move once toolchains role ships kani. runs-on: ubuntu-latest @@ -591,7 +597,10 @@ jobs: # port. TODO: flip to hard gate after the Rocq 9 port PR. rocq: name: Rocq Proofs - needs: [test] + # Decoupled from `test` (#299): Rocq theorem proving runs against + # vendored .v files; it doesn't read cargo-test status. Keeping + # the gate blocked an ubuntu-latest job behind self-hosted rust-cpu + # saturation (2026-05-17 incident). # Stays on ubuntu-latest: Rocq (Coq) install is heavy and # not pre-provisioned on smithy. Migrate once toolchains role ships it. runs-on: ubuntu-latest