The prior Docker build re-compiled all 546 transitive Rust deps from scratch on every push because target/ is intentionally not cache-mounted (Stream C disk-pressure failures). Two changes drop the cold-build cost substantially: * cargo-chef splits dep compilation into a separate Docker layer keyed on recipe.json (derived from Cargo.toml/Cargo.lock). Source-only pushes — the common case — now reuse the cooked deps as a normal layer instead of re-running cargo for every crate. * clippy now runs in --release profile so it shares artifacts with `cargo test --release` and `cargo build --release`. Previously clippy ran in dev profile, forcing a full second compile of every dep before the release build could start. Verified `cargo clippy --release --all-targets -- -D warnings` is clean locally — no new lints surface under the release profile. |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Dockerfile | ||