From 1d756d58eeec465696c784661fc847b5638b5c54 Mon Sep 17 00:00:00 2001 From: Mathias Myrland Date: Sat, 25 Jul 2026 16:58:06 +0200 Subject: [PATCH] Run CI on main and on stacked pull requests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workflow only triggered on `pull_request` with base `main`, which left two gaps that combined to let an unverified merge through. main was never tested directly. Nothing runs on push, so anything that reaches main by another route — a merge whose checks had not finished, a direct push — is unverified. That is how PRs #22 and #23 landed without a single check run. And the `branches: [main]` filter skips stacked pull requests: a PR based on another feature branch does not match, so it gets no checks at all. Those are exactly the changes that most want verifying, since they land on top of an unmerged base. Dropping the filter covers them; `push` stays pinned to main so a PR branch does not run twice. Also adds workflow_dispatch, so main can be re-checked on demand rather than needing a throwaway PR. Verified locally against merged main, reproducing all four steps — host tests, clippy, and the wasm suite under both Firefox and Chrome. That needed wasm-bindgen-cli 0.2.105 to match Cargo.lock; a newer global install fails with a schema mismatch, which is what the existing comment on the wasm-bindgen-action version is warning about. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/rust.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index fe622da..e56aafa 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,8 +1,16 @@ name: Code checking and unit testing on: - pull_request: + # main was never tested directly: the only trigger was a pull request, so + # anything that reached main by another route — a merge whose checks had not + # finished, a direct push — went unverified. + push: branches: [ main ] + # No branch filter. Restricting to `branches: [main]` skipped every stacked + # pull request, because a PR based on another feature branch does not match. + # Those are exactly the changes that most want checking before the base lands. + pull_request: + workflow_dispatch: env: CARGO_TERM_COLOR: always