ci(release): cross-compile darwin binaries on lux-build pool#130
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
build-macos-release.ymlfromruns-on: macos-13(GitHub-hosted, hours-long queue) toruns-on: lux-build(self-hosted ARC pool, no queue)CGO_ENABLED=0 GOOS=darwin GOARCH=$arch) so it does NOT need a Darwin host7z(not present on Ubuntu) withzip(installed on demand)node-macos-{arch}-{tag}.zipcontainingbuild/luxdWhy
Looking at the v1.28.15 release run (#26799538791):
Cross-compiling on Linux unblocks the entire release pipeline.
Test plan
CGO_ENABLED=0 GOOS=darwin GOARCH=$arch ./scripts/run_task.sh build)