Install releasetool.
cd into the root directory, e.g., ~/go/src/cloud.google.com/goCheckout the master branch and ensure a clean and up-to-date state.
git checkout master
git pull --tags origin master
Run releasetool to generate a changelog from the last version. Note, releasetool will prompt if the new version is a major, minor, or patch version.
releasetool start --language go
Format the output to match CHANGES.md.
Submit a CL with the changes in CHANGES.md. The commit message should look
like this (where v0.31.0 is instead the correct version number):
all: Release v0.31.0
Wait for approval from all reviewers and then submit the CL.
Return to the master branch and pull the release commit.
git checkout master
git pull origin master
Tag the current commit with the new version (e.g., v0.31.0)
releasetool tag --language go
Publish the tag to GoogleSource (i.e., origin):
git push origin $NEW_VERSION
Visit the releases page on GitHub and click the "Draft a new
release" button. For tag version, enter the tag published in the previous
step. For the release title, use the version (e.g., v0.31.0). For the
description, copy the changes added to CHANGES.md.