The ipx Dockerfile built its dependencies in a layer of stub crates, which any change to Cargo.toml or Cargo.lock invalidated: all of them compiled again in release, 405 crates, 170 s at the builder's cap. The directory's had no such layer and compiled everything every time. Both now build with cargo's registry and target/ as BuildKit cache mounts. Measured on Tower: a Cargo.toml change rebuilds three crates in 52 s instead of 405 in 170 s. The peak is about the same, since the ipx crate itself is most of it; what goes is the minutes at the cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB