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:
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
@@ -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
|
||||
|
||||
|
||||
16
.github/workflows/release.yml
vendored
16
.github/workflows/release.yml
vendored
@@ -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 }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user