Conversation
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.
There was a problem hiding this comment.
Pull request overview
Adds macOS coverage to CI to address audit finding F-016 by running linting and tests on an additional GitHub Actions runner OS.
Changes:
- Run the Clippy job on a matrix of
ubuntu-24.04andmacos-latest - Run the Test job on a matrix of
ubuntu-24.04andmacos-latest - Update job names to include the OS for clearer CI output
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| matrix: | ||
| os: [ubuntu-24.04, macos-latest] | ||
| runs-on: ${{ matrix.os }} |
There was a problem hiding this comment.
macos-latest is a moving target (GitHub can advance it to the next macOS major version), which can cause sudden CI failures that are hard to reproduce locally. Consider pinning to a specific runner image (e.g., macos-14) and bumping intentionally when needed.
| matrix: | ||
| os: [ubuntu-24.04, macos-latest] | ||
| runs-on: ${{ matrix.os }} |
There was a problem hiding this comment.
Same consideration here: pinning the macOS runner (e.g., macos-14) avoids macos-latest changing underneath the workflow and breaking CI unexpectedly.
Summary
ci: add macos-latest to test matrix.
Audit context
Closes audit entry F-016 from #3.
Verification
cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo test --all-targets