Skip to content

F-016: ci: add macos-latest to test matrix#19

Open
Sephyi wants to merge 1 commit intodevelopmentfrom
audit/f-016-macos-ci-runner
Open

F-016: ci: add macos-latest to test matrix#19
Sephyi wants to merge 1 commit intodevelopmentfrom
audit/f-016-macos-ci-runner

Conversation

@Sephyi
Copy link
Copy Markdown
Owner

@Sephyi Sephyi commented Apr 22, 2026

Summary

ci: add macos-latest to test matrix.

Audit context

Closes audit entry F-016 from #3.

Verification

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-targets

Note: one pre-existing test porcelain_exits_within_timeout_with_no_staged_changes is a known macOS cold-start flake that reproduces on unmodified development — unrelated to this change.

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.
Copilot AI review requested due to automatic review settings April 22, 2026 19:50
@Sephyi Sephyi added the audit Codebase audit cleanup (issue #3) label Apr 22, 2026
@Sephyi Sephyi self-assigned this Apr 22, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.04 and macos-latest
  • Run the Test job on a matrix of ubuntu-24.04 and macos-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.

Comment thread .github/workflows/ci.yml
Comment on lines +43 to +45
matrix:
os: [ubuntu-24.04, macos-latest]
runs-on: ${{ matrix.os }}
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
Comment on lines +61 to +63
matrix:
os: [ubuntu-24.04, macos-latest]
runs-on: ${{ matrix.os }}
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same consideration here: pinning the macOS runner (e.g., macos-14) avoids macos-latest changing underneath the workflow and breaking CI unexpectedly.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

audit Codebase audit cleanup (issue #3)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants