@@ -443,10 +443,10 @@ jobs:
443443
444444 build-macos-amd64 :
445445 needs : [fetch-deps, extract-version]
446- runs-on : macos-13
447- # Intel macOS runners are scarce/being deprecated; never let this block
448- # the release. Downstream jobs do not depend on it, and it is best-effort .
449- continue -on-error : true
446+ # GitHub's free Intel ( macos-13) runners never schedule for this repo, so
447+ # build the x86_64 binary on an Apple-Silicon runner via Rosetta + an
448+ # x86_64 Homebrew SBCL .
449+ runs -on: macos-14
450450 env :
451451 VERSION : ${{ needs.extract-version.outputs.version }}
452452 steps :
@@ -462,15 +462,23 @@ jobs:
462462 - name : Remove .git to prevent dirty version detection
463463 run : rm -rf .git
464464
465- - name : Install dependencies
466- run : brew install sbcl
465+ - name : Install Rosetta and x86_64 SBCL
466+ run : |
467+ softwareupdate --install-rosetta --agree-to-license || true
468+ if ! arch -x86_64 /usr/local/bin/brew --version >/dev/null 2>&1; then
469+ arch -x86_64 /bin/bash -c 'NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'
470+ fi
471+ arch -x86_64 /usr/local/bin/brew install sbcl
467472
468- - name : Build
469- run : make rlgl
473+ - name : Build (x86_64 under Rosetta)
474+ run : |
475+ arch -x86_64 /bin/bash -c 'eval "$(/usr/local/bin/brew shellenv)"; sbcl --version; make rlgl'
470476
471- - name : Verify version is not dirty
477+ - name : Verify architecture and version
472478 run : |
473- VERSION=$(./rlgl --version 2>&1 || true)
479+ file ./rlgl
480+ file ./rlgl | grep -q x86_64 || { echo "::error::rlgl is not x86_64"; exit 1; }
481+ VERSION=$(arch -x86_64 ./rlgl --version 2>&1 || true)
474482 echo "rlgl version: $VERSION"
475483 if echo "$VERSION" | grep -qi dirty; then
476484 echo "::error::Version string contains 'dirty': $VERSION"
@@ -493,7 +501,7 @@ jobs:
493501 # Sign release tarballs with Cosign
494502 # ========================================
495503 sign-artifacts :
496- needs : [build-linux-tarball, build-linux-arm64, build-macos-arm64, extract-version]
504+ needs : [build-linux-tarball, build-linux-arm64, build-macos-arm64, build-macos-amd64, extract-version]
497505 runs-on : ubuntu-latest
498506 permissions :
499507 id-token : write
@@ -546,7 +554,7 @@ jobs:
546554 # Generate SLSA Level 3 provenance
547555 # ========================================
548556 generate-provenance-subjects :
549- needs : [build-rpm, build-deb, build-linux-tarball, build-linux-arm64, build-windows, build-macos-arm64, extract-version]
557+ needs : [build-rpm, build-deb, build-linux-tarball, build-linux-arm64, build-windows, build-macos-arm64, build-macos-amd64, extract-version]
550558 runs-on : ubuntu-latest
551559 outputs :
552560 hashes : ${{ steps.hash.outputs.hashes }}
@@ -581,7 +589,7 @@ jobs:
581589 # Create GitHub Release
582590 # ========================================
583591 release :
584- needs : [build-rpm, build-deb, build-linux-tarball, build-linux-arm64, build-windows, build-macos-arm64, sign-artifacts, slsa-provenance, extract-version]
592+ needs : [build-rpm, build-deb, build-linux-tarball, build-linux-arm64, build-windows, build-macos-arm64, build-macos-amd64, sign-artifacts, slsa-provenance, extract-version]
585593 permissions :
586594 contents : write
587595 runs-on : ubuntu-latest
0 commit comments