Skip to content

Commit cbf1210

Browse files
committed
ci(release): cross-compile darwin-x64 on the arm64 runner
macos-15-intel exists but the Intel pool is small and routinely fully congested — the queued leg would hold the whole release hostage to capacity. Cross-compile darwin/amd64 cgo on macos-latest (arm64) with clang -arch x86_64 instead; verified locally the same invocation emits a Mach-O x86_64 dylib. Removes the Intel-runner dependency entirely.
1 parent 918c9ad commit cbf1210

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,12 @@ jobs:
6868
matrix:
6969
include:
7070
- { target: darwin-arm64, runner: macos-latest }
71-
# macos-13 (Intel) was retired by GitHub in 2025 — jobs on it queue
72-
# forever. macos-15-intel is the current Intel runner label.
73-
- { target: darwin-x64, runner: macos-15-intel }
71+
# darwin-x64 cross-compiles on the arm64 runner (clang -arch x86_64):
72+
# GitHub's Intel pool (macos-13 retired 2025; macos-15-intel) is tiny
73+
# and routinely congested — depending on it makes releases hang on
74+
# queue capacity. Verified locally: Mach-O x86_64 dylib out of an
75+
# arm64 Mac with CGO_ENABLED=1 GOOS=darwin GOARCH=amd64.
76+
- { target: darwin-x64, runner: macos-latest, goos: darwin, goarch: amd64, cc: clang, cgo_cflags: "-arch x86_64", cgo_ldflags: "-arch x86_64" }
7477
- { target: linux-x64, runner: ubuntu-latest }
7578
- { target: linux-arm64, runner: ubuntu-24.04-arm }
7679
- { target: linux-arm, runner: ubuntu-latest, goos: linux, goarch: arm, goarm: "7", cc: arm-linux-gnueabihf-gcc, apt: gcc-arm-linux-gnueabihf }
@@ -113,6 +116,8 @@ jobs:
113116
GOARCH: ${{ matrix.goarch }}
114117
GOARM: ${{ matrix.goarm }}
115118
CC: ${{ matrix.cc }}
119+
CGO_CFLAGS: ${{ matrix.cgo_cflags }}
120+
CGO_LDFLAGS: ${{ matrix.cgo_ldflags }}
116121
CGO_ENABLED: 1
117122
TNB_STRIP: 1
118123

0 commit comments

Comments
 (0)