To date releases have been a sort of manual process. The docker image
was pushed on tagged releases, but then I needed to create the release
in GH, copy all of the entries from CHANGELOG.md to it and finally build
the binaries and attach them to the release.
GoReleaser can take care of all of that. When
a tag is created, it will push the docker images and create the GitHub
release with all of the CHANGELOG details (from the commits) as well as
all of the binaries for supported OSs and archs. Brilliant!
I also cleaned up the Makefile a bit to make things easier and avoid the
need for installing binaries into system folders. With the exception of
docker and unzip, everything else will be installed in ./bin locally
as needed. See make help for all the options.
To date releases have been a sort of manual process. The docker image was pushed on tagged releases, but then I needed to create the release in GH, copy all of the entries from CHANGELOG.md to it and finally build the binaries and attach them to the release.
GoReleaser can take care of all of that. When a tag is created, it will push the docker images and create the GitHub release with all of the CHANGELOG details (from the commits) as well as all of the binaries for supported OSs and archs. Brilliant!
I also cleaned up the Makefile a bit to make things easier and avoid the need for installing binaries into system folders. With the exception of docker and unzip, everything else will be installed in
./bin
locally as needed. Seemake help
for all the options.