Skip to content

chore(ci): run measurement jobs when Cargo.lock or rust-toolchain changes#24199

Merged
graphite-app[bot] merged 1 commit into
mainfrom
ci/run-filtered-jobs-on-deps-changes
Jul 6, 2026
Merged

chore(ci): run measurement jobs when Cargo.lock or rust-toolchain changes#24199
graphite-app[bot] merged 1 commit into
mainfrom
ci/run-filtered-jobs-on-deps-changes

Conversation

@leaysgur

@leaysgur leaysgur commented Jul 6, 2026

Copy link
Copy Markdown
Member

Summary

The include-mode filter in check-changes.js short-circuits to "skip" when no changed files are under crates/, so it never reaches the cargo tree dependency check for Cargo.lock-only dependency updates or rust-toolchain.toml bumps. Conformance, Minsize, Allocations, and Linter timings are all gated on this filter.

This is how #24192 (num-bigint 0.4.6 → 0.5.1) landed with a stale parser allocation snapshot: the update changed BigInt-literal parsing allocation counts, the Allocations job never re-measured on main, and the mismatch surfaced on an unrelated PR (#24098). The snapshot itself is fixed in #24198.

This PR treats Cargo.lock and rust-toolchain.toml changes as affecting every crate, so measurement jobs always re-run on dependency and toolchain updates. The cost is that renovate dependency PRs now run these four jobs; dependency updates are exactly the class of change that can shift measured behavior, so that is the intended behavior. Exclude-mode and paths-only jobs are unaffected (exclude mode already runs on such changes by construction).

Trade-off

For Conformance specifically this closes a correctness gap, not just a snapshot-staleness one: a dependency update that changes parser/transformer behavior currently skips conformance entirely.

🤖 Generated with Claude Code

@leaysgur leaysgur changed the title ci: run measurement jobs when Cargo.lock or rust-toolchain changes chore(ci): run measurement jobs when Cargo.lock or rust-toolchain changes Jul 6, 2026
Comment thread .github/scripts/check-changes.js Outdated
Comment thread .github/scripts/check-changes.js Outdated
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Jul 6, 2026

camc314 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Merge activity

…nges (#24199)

### Summary

The include-mode filter in `check-changes.js` short-circuits to "skip" when no changed files are under `crates/`, so it never reaches the cargo tree dependency check for `Cargo.lock`-only dependency updates or `rust-toolchain.toml` bumps. Conformance, Minsize, Allocations, and Linter timings are all gated on this filter.

This is how #24192 (`num-bigint` 0.4.6 → 0.5.1) landed with a stale parser allocation snapshot: the update changed BigInt-literal parsing allocation counts, the Allocations job never re-measured on main, and the mismatch surfaced on an unrelated PR (#24098). The snapshot itself is fixed in #24198.

This PR treats `Cargo.lock` and `rust-toolchain.toml` changes as affecting every crate, so measurement jobs always re-run on dependency and toolchain updates. The cost is that renovate dependency PRs now run these four jobs; dependency updates are exactly the class of change that can shift measured behavior, so that is the intended behavior. Exclude-mode and paths-only jobs are unaffected (exclude mode already runs on such changes by construction).

### Trade-off

For Conformance specifically this closes a correctness gap, not just a snapshot-staleness one: a dependency update that changes parser/transformer behavior currently skips conformance entirely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@graphite-app
graphite-app Bot force-pushed the ci/run-filtered-jobs-on-deps-changes branch from 7a2a460 to dad4287 Compare July 6, 2026 07:49
@graphite-app
graphite-app Bot merged commit dad4287 into main Jul 6, 2026
27 checks passed
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Jul 6, 2026
@graphite-app
graphite-app Bot deleted the ci/run-filtered-jobs-on-deps-changes branch July 6, 2026 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants