ci: switch from self-hosted to macos-15 GitHub runners

Mac mini disk/CPU is saturated with 10+ concurrent PR builds.
Temporarily switching to GitHub-hosted macos-15 runners until we have
more disk space. Self-hosted was faster due to incremental Rust builds
but was causing CI queue buildup and false test failures.

Changes:
- CI: self-hosted → macos-15
- Release build: self-hosted → macos-15
- Remove per-runner pnpm store isolation (not needed on GitHub runners)
- Add Rust cache for GitHub runners (keyed by Cargo.lock)
- Remove CARGO_INCREMENTAL=1 (managed via cache instead)
This commit is contained in:
lucaronin
2026-02-27 14:24:40 +01:00
parent 175bcb3eb8
commit c4c806c9a8
2 changed files with 14 additions and 11 deletions

View File

@@ -9,7 +9,7 @@ on:
jobs:
test:
name: Tests & Quality Checks
runs-on: self-hosted
runs-on: macos-15
steps:
- uses: actions/checkout@v4
@@ -39,16 +39,13 @@ jobs:
~/.cargo/registry
~/.cargo/git
src-tauri/target
key: ${{ runner.os }}-${{ runner.name }}-cargo-${{ hashFiles('src-tauri/Cargo.lock') }}
key: ${{ runner.os }}-cargo-${{ hashFiles('src-tauri/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.name }}-cargo-
${{ runner.os }}-cargo-
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Configure pnpm store (per-runner isolation)
run: pnpm config set store-dir "$HOME/.pnpm-store-${{ runner.name }}"
- name: Install dependencies
run: pnpm install --frozen-lockfile

View File

@@ -34,7 +34,7 @@ jobs:
build:
name: Build (${{ matrix.arch }})
needs: version
runs-on: self-hosted
runs-on: macos-15
strategy:
fail-fast: true
matrix:
@@ -60,8 +60,16 @@ jobs:
with:
targets: ${{ matrix.target }}
# Self-hosted runner: cargo registry + target dir persist on disk between runs.
# No need for Swatinem/rust-cache — incremental builds kick in automatically.
- name: Cache Rust dependencies
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
src-tauri/target
key: ${{ runner.os }}-release-cargo-${{ hashFiles('src-tauri/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-release-cargo-
- name: Install frontend dependencies
run: pnpm install --frozen-lockfile
@@ -76,8 +84,6 @@ jobs:
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ""
# Incremental compilation — reuses previous build artifacts on self-hosted runner
CARGO_INCREMENTAL: "1"
run: |
pnpm tauri build --target ${{ matrix.target }}