Following on my previous post, I’ve started from scratch to try to understand the process of building and publishing bottles for taps on Azure CI.
Here are the prerequisites:
hello-world- the (very) simple program I want to create a bottle for - https://github.com/ladislas/hello-world
homebrew-hello-world- the tap formula to install
bottles-hello-world- the Bintray repository - https://bintray.com/ladislas/bottles-hello-world
My CI process has two stages:
- First stage: create the bottle with
brew test-bot formulafor Mojave and High Sierra and save the
.tar.gzfiles for the next step
- Second stage: retrieve the bottle’s files and upload them to Bintray with
brew test-bot --ci-upload
Here are the corresponding
- main script: https://github.com/ladislas/homebrew-hello-world/blob/master/azure-pipelines.yml
- first stage: https://github.com/ladislas/homebrew-hello-world/blob/master/templates/brew_test_bot.yml
- second stage: https://github.com/ladislas/homebrew-hello-world/blob/master/templates/brew_test_bot_ci_upload.yml
I’ve created a PR (link here) to build the bottles and it has passed all the stages (build results). The bottles have been published to Bintray as unpublished, a release tag has been created (link here), and the commits from the PR are now in master as well as the bottles (link here).
Now I’m stuck at…
How do I publish the bottles and close the PR?..
So I have a few questions:
- Is this the right workflow?
- I’ve read that I’m now supposed to use
brew pull --bottle, but when I do on my computer, either on master or on the PR branch, it fails. Why is that?
- What’s the best way to now publish the bottles?
The described workflow works because I’ve made the PR and I know I want to merge the changes at some point.
Now, if someone else makes a PR, how should the workflow handle that? It is not supposed to build the bottles and make the changes to master, so I must be missing something…
Any help would be greatly appreciated!
Thanks a lot!