-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Release ocb to a Homebrew tap. #5689
Conversation
Update the goreleaser configuration so that ocb releases will automatically update the OpenTelementry Homebrew tap. This fixes open-telemetry#5680. Signed-off-by: James Peach <[email protected]>
@tigrannajaryan With this PR, all we need for infra is a new This should work without any other changes to the release process as long as the goreleaser github token has |
@open-telemetry/collector-approvers @open-telemetry/collector-contrib-approvers this needs a discussion before moving forward. |
@jpeach How difficult would it be to add this to homebrew-core instead? There's already an OpenTelemetry-related package (https://formulae.brew.sh/formula/opentelemetry-cpp), so it may be possible to have the builder there too? |
@flier What do you think? Since core already accepted opentelemetry-cpp, I expect that ocb would be OK. I doubt that core would issue a Github token to make changes directly to the Homebrew repo, so we would need to make a PR on each release. Is there any tooling for that, or is it generally a manual change? |
I think it depends on your expected release schedule, in my experience So, if your release cycle is longer than one week, For the release PR, if you want to fully automate it, you can add action directly to the github workflow. |
Codecov Report
@@ Coverage Diff @@
## main #5689 +/- ##
==========================================
+ Coverage 91.40% 91.44% +0.03%
==========================================
Files 192 192
Lines 11416 11416
==========================================
+ Hits 10435 10439 +4
+ Misses 781 778 -3
+ Partials 200 199 -1
Continue to review full report at Codecov.
|
Our release cycle is two weeks long, so that should be fine.
I would be okay with that (but I am not a maintainer on this repo, so I will let them speak :)) |
Isn't that taken care of by goreleaser? |
I don't think so. Goreleaser updates the tap directly with a formula that installs the pre-built release binaries (example). It doesn't make a PR with an update, it just pushes the new formula. So for Homebrew core, I expect we would want a standard Go tool formula that builds the release tag from scratch (pre-built binaries are distributed as bottles, typically not just installed in the formula). To get an automatic update, the PR action would probably need to update the version tag on the formula. Looking at the docs for the Github action that flier mentioned, that looks fairly doable. Maybe in special cases if the build changes radically you would need a manual PR to do the update. So, overall, it seems doable, though a bit hard to test. |
Closing, since it looks like the consensus is to try to do this in core Homebrew. |
Has this made it into Homebrew core yet? I can't seem to find any references to Homebrew and ocb outside of these PRs. Is there a link somewhere we can follow? |
Description:
Update the goreleaser configuration so that ocb releases will
automatically update the OpenTelementry Homebrew tap.
Link to tracking Issue:
This fixes #5680.
Testing:
Tested with a private tap at https://github.com/jpeach/homebrew-tap.
Documentation:
None. If we land this, I can go update the docs in a separate PR.