rusq / slackdump

Save or export your private and public Slack messages, threads, files, and users locally without admin privileges.
GNU General Public License v3.0
1.62k stars 72 forks source link

Use goreleaser to release to github/nfpms/homebrew(as tap) #173

Closed disaac closed 1 week ago

disaac commented 1 year ago

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

For macOS, a homebrew tap is provided:

brew install rusq/tap/slackdump

* Optionally [nfpms](https://goreleaser.com/customization/nfpm/) 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 command `brew 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](https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request) 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.
rusq commented 1 year ago

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.

rusq commented 1 year ago

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.

rusq commented 1 week ago

Slackdump was added to brew by some fine person, so closing this.