Use goreleaser to release to github/nfpms/homebrew(as tap)
disaac opened this issue · comments
Is your feature request related to a problem? Please describe.
Releases are currently managed using wangyoucao577/go-release-action via a github workflow. This can be replaced with goreleaser providing the following
- github releases
- hombrew tap releases fixing #163. Note this does not add the formula to the official homebrew formulas it adds it as a Homebrew Tap which can be added to the README as an installation direction option. example
#### Homebrew
For macOS, a [homebrew](https://brew.sh) tap is provided:
brew install rusq/tap/slackdump
- Optionally nfpms can be used in goreleaser to generate a .deb/.rpm to ease installation on linux distributions as well.
Describe the solution you'd like
- Replace the use of
wangyoucao577/go-release-action
with a new simplified workflow that calls goreleaser to build and release on merges to both github and homebrew. - Add the required
.goreleaser.yml
to the root of the project to provide goreleaser workflow the proper configuration to perform the releases initially just homebrew and github release. - Create a separate repo for the homebrew-tap formula which goreleaser will publish to. ie:
rusq/homebrew-tap
this will translate to the following brew install commandbrew install rusq/tap/slackdump
- Update README to provide homebrew tap installation instructions.
brew install rusq/tap/slackdump
Describe alternatives you've considered - Submit the formula as a release to the official homebrew-core tap and manage PRs for updates via that channel. This requires more work and a PR each time a version is updated to the homebrew repo.
Hey @disaac , thank you for this — I was thinking of replacing the wangyoucao577/go-release-action
in the long run, but was procrastinating on finding the replacement. Goreleaser seems a great replacement! I'll have a look at this.
Hey @disaac , just tried the goreleaser on my other github project, I like it much better than the go-release-action, it's much more robust, and has a very convenient CLI. Haven't tried taps yet, but surely will.