Skip to content

Commit 498b619

Browse files
gustavobertoiclaude
andcommitted
ci(G2): native macOS arm64 lane (build + unit -race + binary preflight)
Adds a `macos` job on `macos-14` (arm64) so the darwin/arm64 RUNTIME target — not just the Linux-lane cross-compile — actually builds and passes its daemon-free tests on real hardware. Hosted macOS runners have no Docker, so the integration/e2e (daemon) steps stay on the ubuntu `ci` lane; this lane runs the CGO-free build, the `-race` unit suite, and a binary preflight (`version` + `--help`). Invoked via `go` directly rather than `make` (hosted macOS ships BSD make; the Makefile uses GNU features). Self-verifying: the job's result on this PR confirms the macОS target is green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent ccc0b19 commit 498b619

1 file changed

Lines changed: 27 additions & 1 deletion

File tree

‎.github/workflows/ci.yml‎

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,32 @@ jobs:
103103
version: "~> v2"
104104
args: release --snapshot --clean
105105

106+
# Native macOS arm64 lane (G2): proves the darwin/arm64 RUNTIME target — not just
107+
# the cross-compile on the Linux lane — actually builds and passes its daemon-free
108+
# tests. Hosted macOS runners have no Docker, so the integration/e2e (daemon)
109+
# steps stay on the ubuntu `ci` lane; this lane runs build + unit(-race) + a
110+
# binary preflight. Invoked via `go` directly (not make: hosted macOS ships BSD
111+
# make, and the Makefile uses GNU features).
112+
macos:
113+
runs-on: macos-14
114+
steps:
115+
- uses: actions/checkout@v4
116+
- uses: actions/setup-go@v5
117+
with:
118+
go-version: ${{ env.GO_VERSION }}
119+
check-latest: true
120+
cache: true
121+
- name: build (CGO disabled — static binary invariant)
122+
run: CGO_ENABLED=0 go build ./...
123+
- name: unit tests -race
124+
env:
125+
CGO_ENABLED: "1" # the race detector requires cgo
126+
run: go test -race ./...
127+
- name: binary preflight (runs natively on arm64)
128+
run: |
129+
go build -o devstack ./cmd/devstack
130+
./devstack version
131+
./devstack --help >/dev/null
132+
106133
# Placeholder lanes wired as their milestones land:
107-
# - macos: macos-14 arm64 preflight-only (G2)
108134
# - config-conformance: golden workspace exercising every schema field

0 commit comments

Comments
 (0)