-
Notifications
You must be signed in to change notification settings - Fork 10
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
Update agent formula to choose an m1/intel tarball based on the host computer #19
Conversation
…computer Homebrew is working through the complexity of transitioning from Intel to Apple Silicon and much is up in the air. However, our agent formula is quite simple. On Apple Silicon machines, we can ignore whether homebrew itself is running natively and just always download the Apple Silicon version of the agent. On non Apple Silicon machines, we can ignore whether homebrew itself is running natively and just always download the Intel version of the agent. This requires some helpers added to homebrew in [1]. Will they be available everywhere? Before merging this we also need to consider the agent CD scripts that update this file automatically [2]. [1] https://github.com/Homebrew/brew/pull/7995/files [2] https://github.com/buildkite/agent/blob/b2cf4e3d90f5b155505ec6eb53e007a4d88239d7/.buildkite/steps/release-homebrew.sh
I think we should follow what Homebrew is planning to do, which is installing based on the flavour of Homebrew installation, not the host CPU specifically. It is expected that a user could have two Homebrew installations, one amd64 and one arm64, and that each must only install binaries of its flavour. I'm hoping to chase up the shape of this tooling as it becomes supported. |
Looks like what we might want is |
Co-authored-by: Jessica Stokes <[email protected]>
I've been using macos and homebrew for less than 24 hours and you have somewhat closer connections than me, so we should 100% go with your suggestion 😂 |
Following this up with a hopefully-matching PR for the agent-release gear buildkite/agent#1346. Need to work out how to give that a run-through |
I've tested this on a m1 mac and it works great. First. I have
I then installed a parallel version of homebrew to
I then install the agent for ibrew:
success! |
@ticky do we need to consider whether |
Homebrew generally expects to be auto-updating both the code and the taps in lockstep, it’s possible to turn it off, but it turns both types of update off, so I think assuming the API will be there is entirely reasonable. |
sweet 👍 |
Homebrew is working through the complexity of transitioning from Intel to Apple Silicon and much is up in the air.
However, our agent formula is quite simple. On Apple Silicon machines, we can ignore whether homebrew itself is running natively and just always download the Apple Silicon version of the agent.
On non Apple Silicon machines, we can ignore whether homebrew itself is running natively and just always download the Intel version of the agent.
This requires some helpers added to homebrew in Homebrew/brew#7995. Will they be available everywhere?
Before merging this we also need to consider the agent CD scripts that update this file automatically: https://github.com/buildkite/agent/blob/b2cf4e3d90f5b155505ec6eb53e007a4d88239d7/.buildkite/steps/release-homebrew.sh