diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 79d9d9f..00503cc 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -25,7 +25,7 @@ jobs: runs-on: ${{ matrix.runs-on }} steps: - - uses: actions/checkout@v4 + - uses: builtin:checkout - name: Install Rust stable uses: dtolnay/rust-toolchain@stable @@ -37,11 +37,16 @@ jobs: 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 + if command -v sccache >/dev/null 2>&1; then sccache --version; exit 0; fi + # Bare runners (aarch64 = klokka host) are pre-provisioned; CI must not + # install onto them (and this tarball is x86_64-only). Only the + # ephemeral x86_64 container installs; a bare host missing it fails loud. + if [ "${{ matrix.arch }}" != x86_64 ]; then + echo "::error::sccache missing on the bare ${{ matrix.arch }} runner — provision klokka; CI must not install on bare hosts"; exit 1 fi + 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 sccache --version - name: Ensure build deps (libpipewire + clang for bindgen, C++ for ssstretch) @@ -120,7 +125,7 @@ jobs: runs-on: aarch64 steps: - - uses: actions/checkout@v4 + - uses: builtin:checkout - name: Compute checksums and update PKGBUILD run: |