[chore](trx-rs): add sccache compilation cache
Bake sccache into the SDK image and enable it via RUSTC_WRAPPER in CI and the devcontainer (not repo-wide, so non-SDK builds are unaffected). - container/Containerfile: install the sccache musl binary. - ci.yml: RUSTC_WRAPPER=sccache, CARGO_INCREMENTAL=0, SCCACHE_DIR=/sccache, cache size cap, plus a `sccache --show-stats` step per job. - runner-config.example.yaml: bind-mount /var/cache/sccache into job containers so the cache persists across runs and is shared between jobs. - .devcontainer: enable sccache with a named cache volume. Assisted-By: Claude Code (claude-opus-4) Claude-Session: https://claude.ai/code/session_01NFpGtGTWUEYXLwZeZs2RAV Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
@@ -43,4 +43,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
||||
--component rustfmt --component clippy \
|
||||
&& chmod -R a+rwX "$RUSTUP_HOME" "$CARGO_HOME"
|
||||
|
||||
# sccache — shared compilation cache. Enabled at build time via
|
||||
# RUSTC_WRAPPER (see the CI workflow and .devcontainer), not repo-wide, so
|
||||
# non-SDK builds are unaffected. musl build is static and runs anywhere.
|
||||
ARG SCCACHE_VERSION=0.8.2
|
||||
RUN curl -fsSL "https://github.com/mozilla/sccache/releases/download/v${SCCACHE_VERSION}/sccache-v${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" \
|
||||
| tar -xz -C /tmp \
|
||||
&& install -m755 "/tmp/sccache-v${SCCACHE_VERSION}-x86_64-unknown-linux-musl/sccache" /usr/local/bin/sccache \
|
||||
&& rm -rf /tmp/sccache-*
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
Reference in New Issue
Block a user