From 54b1093ae31d48ddb343e333f2dcbc7efd6fdfd7 Mon Sep 17 00:00:00 2001 From: Sephyi Date: Sun, 19 Apr 2026 18:50:04 +0200 Subject: [PATCH] ci: add macos-latest to test matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Platform-specific code paths (Unix permission bits in `hook install`, native clipboard via arboard, hook path resolution) are currently only exercised on Ubuntu. Extend the `clippy` and `test` jobs to run on `macos-latest` alongside `ubuntu-24.04` via a strategy matrix so these paths get continuous coverage on macOS. `fmt`, `test-eval`, `msrv`, `audit`, `dependency-review`, and `reuse` stay Ubuntu-only — they are platform-agnostic and duplicating them would waste runner time. Windows is intentionally out of scope for this ticket. `fail-fast: false` keeps a failure on one OS from cancelling the other, making regressions easier to diagnose. Closes audit entry F-016 from #3. --- .github/workflows/ci.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 212bd30..1654808 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,9 +36,13 @@ jobs: - run: cargo fmt --check clippy: - name: Clippy + name: Clippy (${{ matrix.os }}) needs: fmt - runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, macos-latest] + runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v4 @@ -50,9 +54,13 @@ jobs: - run: cargo clippy --all-targets -- -D warnings test: - name: Test + name: Test (${{ matrix.os }}) needs: fmt - runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + os: [ubuntu-24.04, macos-latest] + runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v4