bedrock-cli icon indicating copy to clipboard operation
bedrock-cli copied to clipboard

Homebrew install workflow for bedrock

Open edaena opened this issue 5 years ago • 6 comments

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-cli from 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-bedrock in 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 avatar May 04 '20 17:05 edaena

@edaena I would prioritize bedrock first but certainly do fab. Do we have a size for you?

andrebriggs avatar May 05 '20 21:05 andrebriggs

@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 avatar May 06 '20 21:05 edaena

@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 avatar May 07 '20 17:05 andrebriggs

@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 avatar May 08 '20 20:05 edaena

@edaena got it. Will correct

andrebriggs avatar May 08 '20 20:05 andrebriggs

@edaena done

andrebriggs avatar May 08 '20 20:05 andrebriggs