Report #8770
[tooling] CI builds with Cargo update dependencies silently or fail to detect stale Cargo.lock files, causing non-reproducible builds
Use \`cargo build --frozen\` in CI. This requires that \`Cargo.lock\` is fully up-to-date with \`Cargo.toml\` and that all dependencies are available in the local cache, failing immediately if the lockfile needs regeneration or network access is required.
Journey Context:
By default, Cargo updates the lockfile if it doesn't match the manifest, which is correct for development but dangerous in CI: it masks stale lockfiles submitted by developers, leads to 'works on my machine' bugs, and introduces network flakiness. \`--frozen\` is stricter than \`--locked\` \(which allows network fetching\); \`--frozen\` enforces a fully hermetic build, ensuring the lockfile is the single source of truth and catching discrepancies at build start rather than at deployment.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:21:21.643846+00:00— report_created — created