From 9507ce9d0350072ef4abedd5e62444b5c88fef7a Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 1 Jun 2025 11:40:09 +0000 Subject: [PATCH] docker: Fix target mount cache paths; relax locks on cargo home. docker: Persist lychee cache. Signed-off-by: Jason Volk --- CONTRIBUTING.md | 2 +- docker/Dockerfile.cargo | 19 ++++++---- docker/Dockerfile.cargo.audit | 8 +++- docker/Dockerfile.cargo.deb | 20 ++++++---- docker/Dockerfile.cargo.deps | 44 +++++++++++++--------- docker/Dockerfile.cargo.fmt | 8 +++- docker/Dockerfile.cargo.install | 24 ++++++------ docker/Dockerfile.cargo.lychee | 28 +++++++++----- docker/Dockerfile.cargo.rpm | 24 +++++++----- docker/Dockerfile.cargo.typos | 8 +++- docker/Dockerfile.complement | 19 +++++++++- docker/Dockerfile.cookware | 66 +++++++++++++++++---------------- docker/Dockerfile.diner | 9 +++++ docker/Dockerfile.ingredients | 18 +++++---- docker/Dockerfile.rocksdb | 11 +++++- docker/README.md | 47 ++++++++++++++++++++++- docker/bake.hcl | 48 +++++++++++++++--------- 17 files changed, 270 insertions(+), 133 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 15b8028a..3b304c1f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -122,4 +122,4 @@ policy. [cargo-audit]: https://github.com/RustSec/rustsec/tree/main/cargo-audit [direnv]: https://direnv.net/ [mdbook]: https://rust-lang.github.io/mdBook/ -[documentation.yml]: https://github.com/matrix-construct/tuwunel/blob/main/.github/workflows/documentation.yml +[documentation.yml]: https://github.com/matrix-construct/tuwunel/blob/main/.github/workflows/docs.yml diff --git a/docker/Dockerfile.cargo b/docker/Dockerfile.cargo index 4cd04f25..ac727791 100644 --- a/docker/Dockerfile.cargo +++ b/docker/Dockerfile.cargo @@ -7,7 +7,9 @@ ARG RUSTUP_HOME ARG CARGO_HOME ARG CARGO_TARGET ARG CARGO_TARGET_DIR -ARG CARGO_TARGET_CACHE +ARG cargo_tgt_dst +ARG cargo_tgt_sub +ARG cargo_tgt_cache ARG cargo_profile ARG cargo_features ARG cargo_spec_features @@ -22,13 +24,14 @@ COPY --link --from=rocksdb . . WORKDIR /usr/src/tuwunel RUN \ ---mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \ ---mount=type=cache,dst=${CARGO_HOME},sharing=locked \ ---mount=type=cache,dst=${CARGO_TARGET_DIR},sharing=locked \ ---mount=type=cache,dst=${CARGO_TARGET_DIR}/deps,id=${CARGO_TARGET_CACHE}/deps,sharing=shared \ ---mount=type=cache,dst=${CARGO_TARGET_DIR}/build,id=${CARGO_TARGET_CACHE}/build,sharing=shared \ ---mount=type=cache,dst=${CARGO_TARGET_DIR}/incremental,id=${CARGO_TARGET_CACHE}/incremental,sharing=shared \ ---mount=type=cache,dst=${CARGO_TARGET_DIR}/.fingerprint,id=${CARGO_TARGET_CACHE}/fingerprint,sharing=shared \ +--mount=type=cache,dst=${RUSTUP_HOME}/downloads,sharing=shared,ro \ +--mount=type=cache,dst=${CARGO_HOME}/registry,sharing=shared,ro \ +--mount=type=cache,dst=${CARGO_HOME}/git,sharing=shared,ro \ +--mount=type=cache,dst=${CARGO_TARGET_DIR},id=${cargo_tgt_dst}/${cargo_tgt_sub},sharing=locked \ +--mount=type=cache,dst=${CARGO_TARGET_DIR}/${cargo_tgt_sub}/deps,id=${cargo_tgt_cache}/deps,sharing=locked \ +--mount=type=cache,dst=${CARGO_TARGET_DIR}/${cargo_tgt_sub}/build,id=${cargo_tgt_cache}/build,sharing=locked \ +--mount=type=cache,dst=${CARGO_TARGET_DIR}/${cargo_tgt_sub}/incremental,id=${cargo_tgt_cache}/incremental,sharing=locked \ +--mount=type=cache,dst=${CARGO_TARGET_DIR}/${cargo_tgt_sub}/.fingerprint,id=${cargo_tgt_cache}/fingerprint,sharing=locked \ <