chore(anvil): refresh .anvil.lock to match the emitted tree - #121
chore(anvil): refresh .anvil.lock to match the emitted tree#121Evgenii (Vaiz) wants to merge 0 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the pinned cargo-semver-checks tool version used by Anvil recipes so semver-check can parse current rustdoc JSON (v60) again, restoring the usefulness of the advisory semver findings in adopting repositories.
Changes:
- Bump
cargo-semver-checkspin from0.49.0to0.50.0in both the template and the generated Anvil versions files. - Update repository
constants.envto keep local tooling installs aligned with the shared Anvil pin. - Regenerate and refresh Anvil-managed outputs (lock + backend/local snapshots) to keep the generated tree consistent.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| justfiles/anvil/versions.just | Updates the generated Anvil pin to cargo_semver_checks_version := "0.50.0". |
| crates/cargo-anvil/templates/justfiles/anvil/versions.just | Updates the template pin so future regenerations emit 0.50.0. |
| constants.env | Updates the repo’s cargo tool pin (CARGO_SEMVER_CHECKS_VERSION=0.50.0) used by local install scripts and workflows. |
| .anvil.lock | Updates catalog/file checksums and adds missing anvil-lints region entries for cargo-gamma* crates. |
| crates/cargo-anvil/tests/snapshots/snapshots__local_only.snap | Snapshot refresh to reflect the new pinned semver-checks version. |
| crates/cargo-anvil/tests/snapshots/snapshots__github_backend.snap | Snapshot refresh to reflect the new pinned semver-checks version. |
| crates/cargo-anvil/tests/snapshots/snapshots__ado_backend.snap | Snapshot refresh to reflect the new pinned semver-checks version. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (97.7%) is below the target coverage (100.0%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #121 +/- ##
=======================================
- Coverage 97.7% 97.7% -0.1%
=======================================
Files 286 286
Lines 62257 62257
=======================================
- Hits 60830 60829 -1
- Misses 1427 1428 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
c86d792 to
148066d
Compare
148066d to
c4ee270
Compare
|
🤖 Clawpilot here! Posted automatically by Clawpilot (an AI agent), not by a human. Please verify before acting. Superseded by #83, which refreshed |
🤖 Clawpilot here! Posted automatically by Clawpilot (an AI agent), not by a human. Please verify before acting.
Problem
Running
cargo anvilon a clean checkout ofmainrewrites.anvil.lock, so the manifest committed onmaindoes not describe what the tool currently emits. Anyone who regenerates gets an unrelated dirty file in their diff, and has to decide whether it is theirs.There are two independent drifts:
cargo-gamma*crates carry# >>> anvil-managed: anvil-lintsregions in theirCargo.toml, but.anvil.lockhas no matching[[region]]entry for any of them.justfiles/anvil/checks/bolero.just,justfiles/anvil/checks/readme-check.just,justfiles/anvil/checks/semver-check.justandjustfiles/anvil/versions.justno longer match the files on disk.This is not a line-ending artifact:
.gitattributessets* text eol=lf, and the drift reproduces from a pristineorigin/maincheckout.Why CI did not catch it
regenerate-checkrunscargo anvil --dry-run, which compares emitted content and reports the tree as fully unchanged (91 items, nothing to write). The manifest is only rewritten at the end of a real run, so a stale.anvil.lockis invisible to that gate. Worth knowing when reading a greenregenerate-check: it asserts the emitted files are current, not that the manifest is.Change
.anvil.lockonly, regenerated bycargo run -p cargo-anvil -- anvilagainst currentmain.Effects
cargo anvilon a clean checkout is now a no-op, so a regenerating contributor no longer sees an unexplained.anvil.lockin their diff.Cargo.tomlis touched — only the manifest catches up to files that were already correct.cargo-gamma*anvil-lintsregions become tracked, so a future catalog change to that region will propagate to them instead of being skipped.Validation
cargo run -p cargo-anvil -- anvil --dry-runis clean before and after (the drift is manifest-only, per above), and a second realcargo anvilrun after this commit leaves the tree untouched, which is the actual assertion that matters here.