Make the macOS Intel build leg blocking so darwin-amd64 always ships

The macos-15-intel leg had continue-on-error, so when that runner was unavailable the darwin-amd64 artifact silently never built and releases shipped with no Intel macOS binary. Remove continue-on-error so the leg is blocking - the binary ships or the build fails loudly. macos-15-intel is GitHub's supported Intel image through Aug 2027.
This commit is contained in:
Martin Vogel committed 2026-06-05 21:53:25 +02:00
1 parent 0366b3c04d
commit 9538445278
2 files changed
+9 -8

No files matched your search

+6 -5
View File
@@ -39,11 +39,12 @@ jobs:
cc: cc
cxx: c++
runs-on: ${{ matrix.os }}
# GitHub is sunsetting Intel-macOS runners, so the macos-15-intel leg is
# frequently cancelled before it can be allocated. Mark only that leg
# non-blocking so a scarce runner can't gate the aggregate build result
# (and thus skip smoke/soak in the dry-run). All other legs stay required.
continue-on-error: ${{ matrix.os == 'macos-15-intel' }}
# Every leg is BLOCKING — no continue-on-error. The darwin-amd64 binary
# built on macos-15-intel must ship with every release; if that runner is
# unavailable the build fails loudly rather than silently publishing a
# release with no Intel macOS binary (a user-reported gap). macos-15-intel
# is GitHub's supported Intel image through Aug 2027 (the last x86_64 macOS
# runner); revisit the Intel leg before that retirement.
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+3 -3
View File
@@ -58,9 +58,9 @@ jobs:
uses: ./.github/workflows/_build.yml
# ── Smoke test every binary ────────────────────────────────────
# Run unless builds were skipped or a build leg genuinely FAILED. A
# 'cancelled' aggregate caused only by the non-blocking macos-15-intel leg
# (scarce Intel-macOS runner) must NOT skip smoke — see _build.yml.
# Run unless builds were skipped or a build leg FAILED. Every build leg
# (including the macos-15-intel darwin-amd64 binary) is blocking now, so a
# failed/missing platform binary correctly stops smoke — see _build.yml.
smoke:
if: ${{ inputs.skip_builds != true && !cancelled() && needs.build.result != 'failure' && needs.build.result != 'skipped' }}
needs: [build]