Release Process

  1. Update all or some of the package version numbers
    • All of the package changelogs need to have the proper release listed in the changelog after the package number.
  2. Create the release branch in all projects
  3. Create the release branch in continuous-build
    • Add branch=release-$RELEASE for all projects in .gitmodules
    • git submodule update --remote --init
    • git add -A; git commit
    • git push origin HEAD:refs/heads/release-$RELEASE
  4. All package repositories we have updated need to have git tags
    • Format of the tag is the same as the package version in the debian/changelog file.
    • git tag $VERSION remote/release-$RELEASE
    • If the package has separate sources in another repo, you need to tag the same way in the source repo.
    • git push --tags remote
  5. Make a new release candidate for the appropriate release
  6. Tag the latest rapture with the $RELEASE tag.
  7. Run the kokoro job for $RELEASE.

Cherry picks:

  1. Commit to master
  2. Cherry pick to next branch
  3. All packages we have updated need to have tags
  4. Run the packages kokoro job on next
    • Looks at the next branch looking for the latest versions and updates that way
  5. Tag the latest rapture with the next tag.