From 6a92b2561d7f331e551fb443518452d18db8abb2 Mon Sep 17 00:00:00 2001 From: Chris O'Neil Date: Mon, 28 Sep 2026 20:25:22 +0100 Subject: [PATCH] ci: run repo checks only on pull requests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI ran outside pull requests two ways, and with a limited runner pool the duplicate work queues behind checks on open PRs, so it costs review latency rather than just wasted minutes. - Drop the push trigger from ci.yml and wasm.yml, so both run on PRs only - Remove the "Full test suite before publish" job from release.yml and rewire publish-crate's needs. Pushing a release tag re-ran fmt, clippy, the full test suite and a doc build on a commit whose PR had already checked all four. release.yml keeps its tag trigger — it is a release build, not a check. Its validate job stays, since that verifies the tag against the Cargo.toml version, which is genuinely release-time work. Closes V2-1353 Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 2 -- .github/workflows/release.yml | 27 +-------------------------- .github/workflows/wasm.yml | 2 -- 3 files changed, 1 insertion(+), 30 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b304fdf..ca48ce6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,8 +1,6 @@ name: CI on: - push: - branches: [main] pull_request: branches: [main] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 15febdb..6b0d569 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -80,34 +80,9 @@ jobs: exit 1 fi - test: - name: Full test suite before publish - needs: [validate] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - with: - components: rustfmt, clippy - - uses: Swatinem/rust-cache@v2 - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - with: - version: v1.7.1 - - name: fmt - run: cargo fmt --all -- --check - - name: clippy - run: cargo clippy --all-targets --all-features -- -D warnings - - name: tests - run: cargo test --all-features -- --test-threads=1 - - name: doc - env: - RUSTDOCFLAGS: "-D warnings" - run: cargo doc --all-features --no-deps - publish-crate: name: Publish to crates.io - needs: [validate, test] + needs: [validate] runs-on: ubuntu-latest # Skip publish on pre-releases (any SemVer identifier after `-`, see # validate.is_prerelease) and on manual dry runs. diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 6194174..35cd87e 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -1,7 +1,5 @@ name: WASM portability on: - push: - branches: [main, master, web-support] pull_request: jobs: wasm: