-
Notifications
You must be signed in to change notification settings - Fork 260
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 release process to include updating homebrew formula #1708
Update release process to include updating homebrew formula #1708
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will we want to preserve formulas for previous Spin releases? eg when 1.5 comes out, we'd move the current spin.rb
to [email protected]
and then update spin.rb
with 1.5 values. Or, are we thinking just maintaining and updating the one formula? I assume with the former, users could brew install fermyon/tap/[email protected]
whereas with the latter, no such version-pinning would be supported and users would always get the latest - is that correct?
In any case, this is more thinking ahead and isn't intended to block this PR. We can iterate, of course.
@vdice From my understanding, it is common practice to only support one Homebrew formula, namely the latest version of the project. If you want to support earlier versions ("pinned version formulas"), they become separate formula (like you mentioned) and you cannot simply brew upgrade to get the latest. For example, notice how Nomad's install instructions for macos only provide homebrew as an option for latest release; otherwise, you have to do a binary install: https://developer.hashicorp.com/nomad/docs/install. in contrast, postgres releases each version as it's own pinned formula: https://www.postgresql.org/download/macosx/. Latest postgres is version 15; however if i install 14 and then brew upgrade, i stay on 14: $ brew install postgresql@14
$ brew upgrade
$ brew list | grep postgresql
postgresql@14
$ brew install postgresql@15
$ brew list | grep postgresql
postgresql@14
postgresql@15 The only way to upgrade is to uninstall the old version and instal the new one (otherwise you get two installs) -- very unideal My main concern here is that for some reason someone installs an older, pinned version and never moves up. But like you mention, we could take the hybrid approach and have latest always in |
@kate-goldenring thanks so much for filling out the gaps in my understanding. It's a bit more complex than I gathered at first. With this in mind, I'm totally in support of going with the one (latest) formula for now. We can revisit down the road, if we'd like. But, as you've pointed out, the overhead of managing different versions is non-trivial. |
@vdice I don't think it would be too hard to manage (just extra |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One non-blocking though, otherwise LGTM!
docs/content/release-process.md
Outdated
@@ -80,6 +80,11 @@ To cut a release of Spin, you will need to do the following: | |||
`--certificate-identity` value should match this release, e.g. | |||
`https://github.com/fermyon/spin/.github/workflows/release.yml@refs/tags/v1.1.0`. | |||
|
|||
1. Update the Spin [Homebrew |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we mention the specific mechanism envisioned for updating the formula? eg via PR or...?
I'm swinging to think we should just also support pinned versions to start for now, but i also didn't figure out the |
@kate-goldenring ah, yea that would be good to figure out. We can always backfill with pinned formulas, if/when we want. Perhaps we track this potential effort in an issue in the homebrew-tap repo? |
Signed-off-by: Kate Goldenring <[email protected]>
906787e
to
d7630a0
Compare
@vdice issue to track on supporting other versions fermyon/homebrew-tap#7 |
Spin is now installable via
brew
! During releases, we should update the homebrew formula to point to the latest release artifacts.ref #641