From 318d7ab2364e27aa0b04354b21442590a8705539 Mon Sep 17 00:00:00 2001 From: casjay Date: Fri, 21 Aug 2026 21:31:03 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Move=20cargo-modules/get/cache/r?= =?UTF-8?q?eadme=20to=20compile=20fallback=20=F0=9F=94=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These 4 tools have no GitHub release assets published at all, so leaving them in the --disable-strategies compile main loop meant they'd silently no-op via the `|| true` guard instead of actually installing. Moved to the existing compile-fallback RUN block, which allows source compilation, so they now actually build and install (native cross-build in this stage, no QEMU emulation — same as the other compile-fallback tools). - Dockerfile: removed cargo-modules/cargo-get/cargo-cache/cargo-readme from the main prebuilt-fetch loop, added them to the compile-fallback loop; updated the comment above the compile-fallback loop to explain both categories of "no prebuilt" tools now in that list. --- Dockerfile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index cab2339..c1ab473 100644 --- a/Dockerfile +++ b/Dockerfile @@ -166,19 +166,18 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local flamegraph \ probe-rs-tools \ sqlx-cli \ - sea-orm-cli \ - cargo-modules \ - cargo-get \ - cargo-cache \ - cargo-readme; \ + sea-orm-cli; \ do \ cargo binstall -y --disable-strategies compile --target "${RUST_TARGET}" "${tool}" || true; \ done -# A handful of tools ship no prebuilt for musl targets at all (verified via +# A handful of tools ship no prebuilt for musl targets at all — taplo-cli, +# cargo-public-api, cargo-spellcheck, cargo-dist, sea-orm-cli confirmed via # `cargo binstall` "Fallback to cargo-install is disabled" on both amd64 and -# arm64 — a 404 from every prebuilt source, not a rate-limit issue). For just -# these, allow the compile fallback: this stage already cross-links via the +# arm64 (a 404 from every prebuilt source, not a rate-limit issue); +# cargo-modules, cargo-get, cargo-cache, cargo-readme have no GitHub release +# assets published at all, same net effect. For just these, allow the +# compile fallback: this stage already cross-links via the # zig wrapper scripts above, so compiling here is a native cross-build, not # QEMU emulation, and stays fast for this small a tool set. # openssl-libs-static is required alongside openssl-dev: Alpine's openssl-dev @@ -196,7 +195,11 @@ RUN --mount=type=cache,id=cargo-registry-native,sharing=shared,target=/usr/local cargo-public-api \ cargo-spellcheck \ cargo-dist \ - sea-orm-cli; \ + sea-orm-cli \ + cargo-modules \ + cargo-get \ + cargo-cache \ + cargo-readme; \ do \ cargo binstall -y --target "${RUST_TARGET}" "${tool}" || true; \ done