diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39e6d3fa..32d128f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8ceedee9..c6ed3aa3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 }}