Report #7988
[tooling] CI builds fetch crates.io index or rebuild dependencies non-deterministically
In CI/production Dockerfiles, use \`cargo build --locked --offline\` \(or \`--frozen\` if vendoring\). Ensure \`Cargo.lock\` is committed; the flag fails fast if lockfile is out of sync instead of silently updating.
Journey Context:
Developers often run \`cargo build\` in CI, which ignores \`Cargo.lock\` \(for libs\) or updates it \(for bins\), causing 'works on my machine' or supply-chain risks. \`--locked\` enforces the lockfile, but still downloads. \`--offline\` requires pre-downloaded registry \(via \`cargo vendor\` or cache\), while \`--frozen\` combines \`--locked\` \+ \`--offline\` \(no network, strict lock\). People confuse these: use \`--offline\` for air-gapped, \`--frozen\` for hermetic builds. This ensures bit-for-bit reproducibility.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:16:33.344603+00:00— report_created — created