Before you begin a release, make sure that the CHANGELOG is up to date.
First, increment the version number in the VERSION
file. Next, tag the release. We use semantic version tags prefixed
with the letter "v", e.g. "v0.9.8". When tagging, you should
use an annotated tag. In the body of the tag commit message, put
the shortlog to give
a summary of the changes included in the tags,
e.g. git shortlog --no-merge HEAD...$PREVIOUS
.
Once you have pushed a release tag, you need to make a draft release in the Github interface. Use the new release link and save the release as a draft.
At this point, make sure you have a Github access token that has edit permissions for the repository.
Now you are ready to actually build and push the release. To do this,
you just need to run the promu
tool in the right sequence. Make sure that your
GOPATH is set and that
you export the GITHUB_TOKEN
environment variable with the token
you previously created.
$ export PATH="$GOPATH/bin:$PATH"
$ export GITHUB_TOKEN=xxxxxxxx
$ go get -u github.com/aktau/github-release
$ go get -u github.com/prometheus/promu
$ crossbuild
$ crossbuild tarballs
$ checksum .tarballs
$ release .tarballs
Once this completes successfully, you can edit any release notes in the Github UI, and publish the release.