Skip to content

ci(release): cross-compile darwin binaries on lux-build pool#130

Merged
zeekay merged 1 commit into
mainfrom
ci/macos-cross-compile-on-linux
Jun 2, 2026
Merged

ci(release): cross-compile darwin binaries on lux-build pool#130
zeekay merged 1 commit into
mainfrom
ci/macos-cross-compile-on-linux

Conversation

@hanzo-dev
Copy link
Copy Markdown
Member

Summary

  • Move build-macos-release.yml from runs-on: macos-13 (GitHub-hosted, hours-long queue) to runs-on: lux-build (self-hosted ARC pool, no queue)
  • Build is already a pure-Go cross-compile (CGO_ENABLED=0 GOOS=darwin GOARCH=$arch) so it does NOT need a Darwin host
  • Replace 7z (not present on Ubuntu) with zip (installed on demand)
  • Output filename + artifact name unchanged: node-macos-{arch}-{tag}.zip containing build/luxd

Why

Looking at the v1.28.15 release run (#26799538791):

  • Linux amd64 + arm64: SUCCESS (lux-build)
  • Ubuntu amd64 + arm64: SUCCESS
  • Windows: SUCCESS
  • macOS arm64 + amd64: QUEUED for 37+ minutes waiting on macos-13 hosts
  • Release job: stuck behind macOS — cannot publish until macOS completes

Cross-compiling on Linux unblocks the entire release pipeline.

Test plan

  • Cross-compile build command unchanged (CGO_ENABLED=0 GOOS=darwin GOARCH=$arch ./scripts/run_task.sh build)
  • zip output produces identical filename + structure
  • First release run after merge produces darwin/arm64 and darwin/amd64 zips
  • Release job finally completes + uploads all assets to v1.28.16

GitHub-hosted macos-13 queues block the release pipeline for hours.
The build is already pure Go cross-compile (CGO_ENABLED=0 GOOS=darwin
GOARCH=$arch) so there's no reason to use a Mac runner. Route through
the self-hosted lux-build ARC pool (fast, plentiful) instead.

Replace 7z (not on ubuntu) with apt-installed zip in the same step.
Output filename + artifact name are unchanged.
@zeekay zeekay merged commit b12f798 into main Jun 2, 2026
10 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants