How to Create a New Release

Prerequisites

Install releasetool.

Create a release

  1. cd into the root directory, e.g., ~/go/src/cloud.google.com/go
  2. Checkout the master branch and ensure a clean and up-to-date state.
    git checkout master
    git pull --tags origin master
    
  3. 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
    
  4. Format the output to match CHANGES.md.
  5. 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
    
  6. Wait for approval from all reviewers and then submit the CL.
  7. Return to the master branch and pull the release commit.
    git checkout master
    git pull origin master
    
  8. Tag the current commit with the new version (e.g., v0.31.0)
    releasetool tag --language go
    
  9. Publish the tag to GoogleSource (i.e., origin):
    git push origin $NEW_VERSION
    
  10. 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.