From 04cfee979f574e388351d046f107fea336454f13 Mon Sep 17 00:00:00 2001 From: Dominic Rubas <1042243+rubas@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:39:42 +0200 Subject: [PATCH 1/3] ci: drop the apt step from the setup action, the runner image has the build tools --- .github/actions/setup/action.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 158e73c..7533705 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -1,5 +1,5 @@ name: "Setup whisper_cpp build env" -description: "System packages, Task, Elixir/OTP, Rust toolchain, sccache, and the mix/cargo/native caches." +description: "Task, Elixir/OTP, Rust toolchain, sccache, and the mix/cargo/native caches." inputs: elixir-version: @@ -23,12 +23,8 @@ inputs: runs: using: "composite" steps: - - name: Install system packages - shell: bash - run: | - sudo apt-get update -qq - sudo apt-get install -y -qq cmake build-essential pkg-config libclang-dev - + # No apt step: the GitHub-hosted Ubuntu image has cmake, gcc, make, pkg-config, and libclang. An apt step only adds + # the Ubuntu mirror, which took 17 to 20 minutes on the ubuntu-26.04 image on 2026-10-23. - name: Install Task uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2.2.0 with: From abbd553eeb300bcdf6d6f09ac8d3bdfdf592cd81 Mon Sep 17 00:00:00 2001 From: Dominic Rubas <1042243+rubas@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:45:32 +0200 Subject: [PATCH 2/3] ci: key the native build cache on the runner image --- .github/actions/setup/action.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 7533705..10c1322 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -75,14 +75,21 @@ runs: restore-keys: | ${{ runner.os }}-cargo-${{ inputs.rust-toolchain }}- + # bindgen tells cargo to rebuild whisper-rs-sys when a system header changes. A target from another Ubuntu + # release names headers that are missing or newer here, so each run rebuilds whisper.cpp and saves nothing. + - name: Read the runner image + id: image + shell: bash + run: echo "os=$ImageOS" >> "$GITHUB_OUTPUT" + - name: Cache native build artifacts (Cargo target + CMake) uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: | native/whisper_cpp_native/target - key: ${{ runner.os }}-native-${{ inputs.rust-toolchain }}-${{ hashFiles('native/whisper_cpp_native/Cargo.lock') }} + key: ${{ steps.image.outputs.os }}-native-${{ inputs.rust-toolchain }}-${{ hashFiles('native/whisper_cpp_native/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-native-${{ inputs.rust-toolchain }}- + ${{ steps.image.outputs.os }}-native-${{ inputs.rust-toolchain }}- - name: Cache integration fixtures (models) if: ${{ inputs.cache-fixtures == 'true' }} From 54bf18e9310f1be01871221bd593784f29a192f7 Mon Sep 17 00:00:00 2001 From: Dominic Rubas <1042243+rubas@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:46:42 +0200 Subject: [PATCH 3/3] ci: drop sccache; its GitHub cache backend failed the build with a 503 --- .github/actions/setup/action.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 10c1322..4cdcbc3 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -1,5 +1,5 @@ name: "Setup whisper_cpp build env" -description: "Task, Elixir/OTP, Rust toolchain, sccache, and the mix/cargo/native caches." +description: "Task, Elixir/OTP, Rust toolchain, and the mix/cargo/native caches." inputs: elixir-version: @@ -44,17 +44,6 @@ runs: toolchain: ${{ inputs.rust-toolchain }} components: ${{ inputs.rust-components }} - - name: Install sccache - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 - - - name: Enable sccache wrapping - shell: bash - run: | - echo "SCCACHE_GHA_ENABLED=true" >> "$GITHUB_ENV" - echo "RUSTC_WRAPPER=sccache" >> "$GITHUB_ENV" - echo "CC=sccache cc" >> "$GITHUB_ENV" - echo "CXX=sccache c++" >> "$GITHUB_ENV" - - name: Cache Elixir build + deps uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: