From 9de5d7e2d993dd695171a9c629739a18735875c4 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Sun, 13 Sep 2026 12:37:53 +0200 Subject: [PATCH] CI: sccache-backed compiled-crate cache (persistent, replaces the dead cache service) x86_64 uses /sccache (host dir bind-mounted into the job container by the runner config); aarch64 on the klokka host uses a runner-owned dir. Both persist across releases via RUSTC_WRAPPER=sccache. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx --- .gitea/workflows/release.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b3dd945..8a8ba87 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -15,8 +15,10 @@ jobs: include: - arch: x86_64 runs-on: ubuntu-latest + sccache_dir: /sccache - arch: aarch64 runs-on: aarch64 + sccache_dir: /var/lib/gitea-runner/sccache runs-on: ${{ matrix.runs-on }} @@ -28,6 +30,22 @@ jobs: with: targets: wasm32-unknown-unknown + # Compiled-crate cache via sccache. x86_64 uses /sccache (a persistent + # host dir bind-mounted into the job container by the runner config); + # aarch64 runs on the klokka host and uses a runner-owned dir. Both + # persist across releases, unlike the (unreachable) Gitea cache service. + - name: Set up sccache + run: | + echo "RUSTC_WRAPPER=sccache" >> "$GITHUB_ENV" + echo "SCCACHE_DIR=${{ matrix.sccache_dir }}" >> "$GITHUB_ENV" + mkdir -p "${{ matrix.sccache_dir }}" + if ! command -v sccache >/dev/null 2>&1; then + V=0.8.2 + curl -sSL "https://github.com/mozilla/sccache/releases/download/v${V}/sccache-v${V}-x86_64-unknown-linux-musl.tar.gz" | tar -xz + sudo install -m0755 "sccache-v${V}-x86_64-unknown-linux-musl/sccache" /usr/local/bin/sccache + fi + sccache --version + - name: Install cargo-binstall run: | command -v cargo-binstall || \