Announcing GoReleaser v2.5 - multi languages, 9th anniversary edition
Merry Christmas - the last release of 2024 is here!
I have some apps written in Go, which I deliver as binaries for each platform using GitHub releases. Until now, I was doing it with a very simple shell script.
But, I also wanted to dist these new releases in a homebrew tap. Adding that in the script would be kind of trivial, but I didn’t like the way I was using it all (arguments, hacks, etc).
I could, of course, change the formulas by hand, but I’m lazy and that seems just too much work for me.
So, time to my shell script to evolve!
I wanted a tool that:
So, I created goreleaser!
GoReleaser can build and release go binaries in tar.gz
for several platforms, and can create/update homebrew formulaes. All that by having a simple goreleaser.yml
in the repository root:
repo: goreleaser/releaser
binary_name: release
brew:
repo: goreleaser/homebrew-formulae
build:
oses:
- windows
- darwin
- linux
Then, I basically wire this in the .travis.yml
:
after_success: test -n "$TRAVIS_TAG" && curl -s https://raw.githubusercontent.com/goreleaser/get/master/latest | bash
Which generates release like this on GitHub:
It is so easy that I’m already using it in all my suitable Go projects:
The roadmap is pretty much what you find in the issues, but, IMO, the highlights are:
I believe those features will enable GoReleaser to be even more useful!
I was very glad to see the results of GoReleaser!
Thank you all!