-
Notifications
You must be signed in to change notification settings - Fork 143
Open
Labels
choreAdditions and changes to CIAdditions and changes to CIdeprecatedFeatures or functionality that would be deprecatedFeatures or functionality that would be deprecateddocumentationAdd or improve documentation: README/CHANGELOG/comments on codeAdd or improve documentation: README/CHANGELOG/comments on codegh-actionsGithub Action IssueGithub Action IssueinstallationInstallation related issueInstallation related issue
Description
See:
- https://goreleaser.com/deprecations/#brews
- https://goreleaser.com/blog/goreleaser-v2.10/#homebrew-casks
⚠️ Caveat: requires existingtfswitchHomebrew users to run manual command to migrate from Formula to Casks like this (based ongoreleaser's example): https://goreleaser.com/blog/goreleaser-v2.10/#upgrading-with-homebrew- Should not affect new users
- ⭐ See this post for formula-to-cask migration details: Unable to migrate Formula-to-Cask within the same tap Homebrew/brew#21207 (comment)
⚠️ Requires at least https://github.com/Homebrew/brew/releases/tag/5.0.6
- (TODO) On a side note, it may worth to move Shell completion file(s) to
completions/tfswitch.<shell_type>to match the example ofhomebrew_casksconfig section at https://goreleaser.com/blog/goreleaser-v2.10/#homebrew-casks- This will also require an update to the value of Goreleaser
archives.filesconfig field at https://github.com/warrensbox/terraform-switcher/blob/master/.goreleaser.yml#L44 to get the completions file(s) added to release artifacts from the updated path
- This will also require an update to the value of Goreleaser
- (TODO) Another thing would be to automate removal of quarantine bit from
tfswitchbinary on macOS after install: https://goreleaser.com/customization/homebrew_casks/#signing-and-notarizing - (TODO) Update documentation and README as appropriate
- Installation steps
- Formula-to-cask migration steps (
⚠️ Requires at least https://github.com/Homebrew/brew/releases/tag/5.0.6)
- Goreleaser docs: https://goreleaser.com/customization/homebrew_casks/
- https://github.com/orgs/goreleaser/discussions/5563#discussioncomment-13879589
- feat: homebrew casks goreleaser/goreleaser#5780 (included in Goreleaser v2.10.0)
- fix: make brews deprecation "soft" goreleaser/goreleaser#5924 (included in Goreleaser v2.11.1)
- feat: homebrew casks goreleaser/goreleaser#5780 (included in Goreleaser v2.10.0)
- Tap migrations should allow to migrate from formula to cask in the same tap Homebrew/brew#20585
ℹ️ 20250821: https://github.com/orgs/goreleaser/discussions/5563#discussioncomment-14178596
Brews is undeprecated - ideally we'll deprecate it again at some point.
The main reason is that migrating from formula to cask requires work from the end user (uninstall formula, install cask with--cask).New projects should use casks instead, though, and goreleaser will still warn that formulas are being phased out, it's kind of a "soft deprecation" for now.
ℹ️ 20251110: Homebrew/brew#20800 (comment)
I will circle back on this, I'm just snowed under right now getting Homebrew 4.7.0 out.
ℹ️ 20251216: Homebrew/brew#21207 (comment)
I tested it out and can confirm that everything worked! 👍 Verification notes are below. [see the post for full details]
Metadata
Metadata
Assignees
Labels
choreAdditions and changes to CIAdditions and changes to CIdeprecatedFeatures or functionality that would be deprecatedFeatures or functionality that would be deprecateddocumentationAdd or improve documentation: README/CHANGELOG/comments on codeAdd or improve documentation: README/CHANGELOG/comments on codegh-actionsGithub Action IssueGithub Action IssueinstallationInstallation related issueInstallation related issue