Skip to content

chore(tasks): update stale parser allocation snapshot#24198

Merged
leaysgur merged 1 commit into
mainfrom
chore/update-parser-allocs-snap
Jul 6, 2026
Merged

chore(tasks): update stale parser allocation snapshot#24198
leaysgur merged 1 commit into
mainfrom
chore/update-parser-allocs-snap

Conversation

@leaysgur

@leaysgur leaysgur commented Jul 6, 2026

Copy link
Copy Markdown
Member

Summary

num-bigint 0.4.6 → 0.5.1 (#24192) reduced heap allocations when parsing BigInt literals. kitchen-sink.tsx is the only tracked fixture containing BigInt literals, so its parser row changed: 2058 → 2051 sys allocs (an improvement, not a regression).

The snapshot went stale on main because the Allocations job's change filter (check-changes.js) skips the measurement when no files under crates/ changed — a Cargo.lock-only dependency update never re-measures. The mismatch then surfaces on any unrelated PR that touches the snapshot paths (currently blocking #24098).

Verified by bisecting locally: parent commits of #24192 measure 2058, #24192 and current main measure 2051, matching CI exactly.

The same filter gap affects Conformance, Minsize, and Linter timings jobs; a follow-up may address the filter itself.

🤖 Generated with Claude Code

num-bigint 0.4.6 -> 0.5.1 (#24192) reduced heap allocations when parsing
BigInt literals; kitchen-sink.tsx is the only tracked fixture containing
them (2058 -> 2051 sys allocs).

The snapshot went stale because the Allocations job's change filter skips
when no files under `crates/` change, so the Cargo.lock-only update never
re-measured. Any PR touching the snapshot paths (e.g. #24098) then fails
on this pre-existing mismatch.

Co-Authored-By: Claude Fable 5 <[email protected]>
@leaysgur
leaysgur requested a review from overlookmotel as a code owner July 6, 2026 01:32
@leaysgur
leaysgur merged commit 66c3868 into main Jul 6, 2026
26 checks passed
@leaysgur
leaysgur deleted the chore/update-parser-allocs-snap branch July 6, 2026 01:38
graphite-app Bot pushed a commit that referenced this pull request Jul 6, 2026
…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)

@camc314 camc314 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

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