You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Release automation ships a stale Cargo.lock: lock-sync the release PR and build --locked in CI #242
Every release-please PR bumps the five workspace crate versions in the Cargo.tomls but never touches Cargo.lock, so each release merge re-creates manifest/lock drift. Current state, verified by execution: main's Cargo.lock records all five workspace crates at 0.5.1 while the manifests say 0.6.0 (and 0.7.0 once #240 merges), and cargo metadata --locked on main exits 101 ("cannot update the lock file because --locked was passed").
Consequences:
A --locked build from any release tag fails, so the lockfile we ship is dead weight for reproducible builds.
The release binaries are built from a resolver-fresh dependency set, not the committed lock, which quietly weakens the lock's supply-chain value.
Any plain cargo build on a drifted checkout rewrites the lock's version fields, so contributors keep hitting mystery-dirty trees (this has already produced repeated hand-sync commits, which fix it only until the next release merges).
Hand syncs are the wrong tool: the drift is reintroduced by automation, so the fix has to live in automation.
Proposed fix:
A lock-sync step in the release flow so the release PR itself carries the Cargo.lock bump (cargo update --workspace on the release branch), making the tagged tree internally consistent.
Build with --locked in PR CI so any future manifest/lock drift fails loudly at PR time instead of surfacing as dirty trees later.
Sequencing note: the --locked CI gate can only land together with (or after) a lock sync, and a sync commit must postdate the 0.7.0 release merge or it re-breaks immediately.
Activity
beardthelion commentedon Jul 22, 2026
Note: #185 was the earlier report of this same drift; closed in favor of this issue, which #243 closes.
ci: lock-sync the release PR and build --locked so lock drift fails l…
Merge pull request #243 from Gitlawb/ci/242-lock-sync-release