pseudomuto / protoc-gen-doc

Documentation generator plugin for Google Protocol Buffers
MIT License
2.63k stars 464 forks source link

Setting up goreleaser to handle releases #474

Closed pseudomuto closed 2 years ago

pseudomuto commented 2 years ago

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.