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! |
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.