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 || \