Homebrew install workflow for bedrock
As a: User
I want: To install bedrock tools with homebrew
So that: It's easier to install dependencies, and manage versions
Describe the solution you'd like:
Support installing bedrock-cli and fabrikate via homebrew
Acceptance Criteria:
- [x] Design doc.
- [x] Create homebrew formula repository https://github.com/microsoft/homebrew-bedrock
- [x] Add bedrock-cli formula to /microsoft/homebrew-bedrock -> PR
- [x] Reuse formulas from this repository: https://github.com/edaena/homebrew-core/
- [x] Update versions and dependencies for the formulas to reflect the latest
- [x] Investigate a way of automatically updating formulas based on releases.
- [x] Investigate using brew bottles for distributing the tools instead of having users build from source: https://jonathanchang.org/blog/maintain-your-own-homebrew-repository-with-binary-bottles/
- [x] Solution does not require building the
bedrock-clifrom source - [x] Solution is part of the Azure DevOps release pipeline and requires no manual intervention
- [x] Test solution in a separate Azure DevOps project
- [x] Test additional release
- [x] Integrate solution to the Bedrock CLI release pipeline
- ~Add github service connection for
microsoft/homebrew-bedrockin the Azure Pipeline~
Describe alternatives you've considered:
- Possibly add a step to the bedrock github release pipeline
Additional context: Related resources: Host bottles for taps Maintain your own homebrew repo homebrew bottles Brew test bot Example: azcli formula
Does this require updates to documentation?:
@edaena I would prioritize bedrock first but certainly do fab. Do we have a size for you?
@andrebriggs added the size, and an additional step to explore using brew bottles for a faster installation process which avoids users having to build from source. I would say total, it's a 1-2 day task. I'm marking it as M to be safe.
@edaena I created a repo. See in the description.
Investigate a way of automatically updating formulas based on releases
This is pretty important if we want to avoid manual work. Let's focus on a POC for this
@andrebriggs the repo name has to start with the word homebrew, so instead of bedrock-homebrew it should be homebrew-bedrock, this is to allow subscription to a tap like this:
brew tap microsoft/bedrock
More information here: https://docs.brew.sh/Taps
@edaena got it. Will correct
@edaena done