From bab05219f14e7f303e8a974209ea0f091f348bea Mon Sep 17 00:00:00 2001 From: Luther Monson Date: Sun, 24 May 2026 22:50:00 -0700 Subject: [PATCH] Revert "chore(ci): gate arm64/macOS matrix jobs on repo vars + continue-on-error" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/ci.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b8c611..126a1d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,14 +38,6 @@ jobs: build-macos: name: Build (macOS arm64) needs: ci - # Gate on a repo variable so the job is "Skipped" (not "Pending forever") - # when no self-hosted macOS arm64 runner is online. Set - # `gh variable set HAS_MACOS_ARM64_RUNNER --body true` once the runner is up. - if: ${{ vars.HAS_MACOS_ARM64_RUNNER == 'true' }} - # Even when a runner is online, don't block PR merges on a Build (macOS arm64) - # failure — those failures are usually environmental (Apple notarisation - # quirks, codesign certs) rather than code regressions caught elsewhere. - continue-on-error: true runs-on: [self-hosted, macos, arm64] steps: - uses: actions/checkout@v6 @@ -68,11 +60,6 @@ jobs: build-linux-arm64: name: Build (Linux arm64) needs: ci - # Gate on a repo variable so the job is "Skipped" (not "Pending forever") - # when no self-hosted Linux arm64 runner is online. Set - # `gh variable set HAS_LINUX_ARM64_RUNNER --body true` once the runner is up. - if: ${{ vars.HAS_LINUX_ARM64_RUNNER == 'true' }} - continue-on-error: true runs-on: [self-hosted, linux, arm64] steps: - uses: actions/checkout@v6