Skip to content

Commit 2a15641

Browse files
authored
Merge pull request #20 from atgreen/macos-intel-rosetta
Build Intel macOS binary via Rosetta (v2.0.4)
2 parents 3892724 + 217bd89 commit 2a15641

4 files changed

Lines changed: 31 additions & 15 deletions

File tree

.github/workflows/release.yaml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

releng/debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
rlgl (2.0.4-1) unstable; urgency=medium
2+
3+
* Build the Intel (x86_64) macOS binary via Rosetta on an Apple-Silicon runner.
4+
5+
-- Anthony Green <green@moxielogic.com> Fri, 19 Jun 2026 10:00:00 -0500
6+
17
rlgl (2.0.3-1) unstable; urgency=medium
28

39
* Preserve the Windows drive letter when deriving git -C paths.

releng/rlgl.spec

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Name: rlgl
2-
Version: 2.0.3
2+
Version: 2.0.4
33
Release: 1%{?dist}
44
Summary: Git-centric policy management and enforcement tool
55

@@ -55,6 +55,8 @@ fi
5555
%{_datadir}/sbom/rlgl-%{version}.spdx.json
5656

5757
%changelog
58+
* Fri Jun 19 2026 Anthony Green <green@moxielogic.com> - 2.0.4-1
59+
- Build the Intel (x86_64) macOS binary on an Apple-Silicon runner via Rosetta
5860
* Fri Jun 19 2026 Anthony Green <green@moxielogic.com> - 2.0.3-1
5961
- Preserve the Windows drive letter when deriving git -C paths (use
6062
native-namestring of the directory pathname, not directory-namestring)

rlgl.asd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
(asdf:defsystem #:rlgl
2020
:description "Red Light Green Light - a client-side policy enforcement tool."
2121
:author "Anthony Green <green@moxielogic.com>"
22-
:version "2.0.3"
22+
:version "2.0.4"
2323
:serial t
2424
:components ((:file "package")
2525
(:file "matcher")

0 commit comments

Comments
 (0)