-
Notifications
You must be signed in to change notification settings - Fork 334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement support for macOS Apple Silicon => x86_64 cross compilation #2958
Conversation
61a4bdc
to
9b6cf3c
Compare
For macOS-based reviewers who want to try this out locally, |
Love it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool
That is something I have in mind (#2884 was a step in that direction), but it merits some discussion internally first – based on https://docs.github.com/en/actions/administering-github-actions/usage-limits-billing-and-administration#usage-limits we are limited to 5 concurrent macOS build jobs across the cloudflare org. We have encountered macOS runner exhaustion for workerd before. Adding a second release job on GitHub will not add much overhead (Apple Silicon macOS is the fastest free tier runner) but might be enough to make us hit runner exhaustion again occasionally and have macOS builds stall. |
As you’ve mentioned, I don’t think that the release build runs often enough. I think we should go ahead with it. |
9b6cf3c
to
f89ada7
Compare
👍 Let's discuss at the team meeting |
Follow-up to #2958, where we added and tested cross-compilation support. This allows us to use Xcode 16 to compile the Intel Mac binary (macos-15 is Apple Silicon-based, macos-13 only has Xcode 15 available) and take advantage of the faster M1-based runners.
Follow-up to #2958, where we added and tested cross-compilation support. This allows us to use Xcode 16 to compile the Intel Mac binary (macos-15 is Apple Silicon-based, macos-13 only has Xcode 15 available) and take advantage of the faster M1-based runners. - Don't set minimum macOS version for host configuration, host tools are only needed during the build and do not need to be distributed beyond that. This fixes a misleading warning.
Follow-up to #2958, where we added and tested cross-compilation support. This allows us to use Xcode 16 to compile the Intel Mac binary (macos-15 is Apple Silicon-based, macos-13 only has Xcode 15 available) and take advantage of the faster M1-based runners. - Don't set minimum macOS version for host configuration, host tools are only needed during the build and do not need to be distributed beyond that. This fixes a misleading warning.
I hope to use this in CI in the near future to compile x86 release binaries on Apple Silicon to make this process faster and have access to the latest compiler version. That can be discussed in detail on another issue.