Skip to content

Revert PR #75 — drop arm64/macOS matrix gating now that runners are permanent#80

Merged
luthermonson merged 1 commit into
mainfrom
revert/ci-arm64-noblock
May 25, 2026
Merged

Revert PR #75 — drop arm64/macOS matrix gating now that runners are permanent#80
luthermonson merged 1 commit into
mainfrom
revert/ci-arm64-noblock

Conversation

@luthermonson
Copy link
Copy Markdown
Contributor

Reverts #75

PR #75 added `if: ${{ vars.HAS__RUNNER == 'true' }}` + `continue-on-error: true` to the `Build (Linux arm64)` and `Build (macOS arm64)` matrix jobs. The motivation was that those jobs sat Pending forever on every PR because no self-hosted runners with those labels were online — the `if:` guard would mark them Skipped instead.

You've since added permanent runners for both labels. With the gating in place but the repo variables unset (`gh variable list` returns empty), new PRs would now mark both jobs Skipped even though real runners are ready to pick them up — exactly the wrong outcome.

Also removes `continue-on-error: true` so a real failure on arm64 or macOS blocks PR merges the same way Linux and Windows do today. If a runner goes offline temporarily, a brief Pending state is the correct signal; the fix is to bring the runner back, not to teach CI to hide it.

Test plan

  • Diff shows only the removal of the gating lines from `.github/workflows/ci.yml` — no other workflow changes.
  • Confirm on this very PR that Linux arm64 + macOS arm64 actually run (not Skipped) and pass.
  • After merge: confirm the next unrelated PR also runs the full matrix.

If something does go wrong with the arm64 or macOS runners in the future, a tighter version (just `continue-on-error` on `Build (macOS arm64)` for known Apple-environmental flake, no `if:` guard) is easy to add back.

…ue-on-error"

This reverts PR #75 (commit 6bc1e59). The premise of #75 was that
Linux arm64 and macOS arm64 jobs sat Pending forever because no
runners with those labels were online — the `if: vars.HAS_X_RUNNER`
guard would skip them so PRs didn't look stuck.

Self-hosted runners for both labels are now permanent, so the gating
just turns into a footgun: the `vars.HAS_*_RUNNER` repo variables
aren't set, which means new PRs would mark both jobs Skipped even
though real runners are ready to pick them up. Better to drop the
gating and let the matrix run normally.

Also removes `continue-on-error: true` on both jobs — when the
runners are real, a failure on arm64 or macOS should block PR merges
the same way Linux and Windows already do.

If a runner goes offline temporarily, a brief Pending state is the
correct signal — the long-term fix is to bring the runner back, not
to teach CI to hide it.
@luthermonson luthermonson merged commit 6545595 into main May 25, 2026
4 checks passed
@luthermonson luthermonson deleted the revert/ci-arm64-noblock branch May 25, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant