Build for older macOS versions using bump-formula-pr
process in a custom tap
#5779
Replies: 2 comments 7 replies
-
for the first part of your question,
if you want to build bottles for older versions of macos ie. 10.14, etc, etc. you'll need to setup a self-hosted runner running that macos version ie. macos 10.14. be advised though if you core tap uses that latest upstream homebrew-core you'll have to build bottles for each and every formula or point the homebrew-core tap to a specific revision which still contains bottles for that macos version. this will need to be done for each macos version you plan on supporting, as out of the box the workflows provided by homebrew are only setup to use github runners that are officially maintained by github. |
Beta Was this translation helpful? Give feedback.
-
Homebrew doesn't really support cross-builds at the moment, mainly because it is not something we support in homebrew-core and nobody has really requested or developed a solution for third-party taps. With that said we do use cross-builds for the Homebrew Portable Ruby tap, using an undocumented Homebrew environment variable to "fake" the host OS version to be the deployment OS. I'm not really sure if this approach scales well for third-party tap use cases - it was a quick hack solely tested for a Ruby build without much thought put into it. Someone should probably design a better system for these use cases. An alternative solution here could be to support "unversioned" macOS bottles like Right now the approach taken by some is to compile the binary externally and to just download & install the binary in the formula. I agree this is not great and anything that avoids those scenarios would be an improvement. |
Beta Was this translation helpful? Give feedback.
-
In a custom tap, is there a way to make the
bump-formula-pr
process (using apr-pull
label, etc.) build for older macOS versions (like macOS 12, 11, 10.15, 10.14, …), either by:brew tap-new
brew tap-new
Is there a way to easily have the custom tap formula upload bottles to a GitHub Release in the main project repo and either:
I prefer the former, but would settle for the latter if the former wouldn't be simple or advisable.
Beta Was this translation helpful? Give feedback.
All reactions