Release Process
- 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.
- Create the release branch in all projects
- 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
- 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 aiy/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 aiy
- Make a new release candidate for the appropriate release
- If no proposals exist for the release, create a new Rollup proposal and approve it.
- Tag the latest rapture with the $RELEASE tag.
- rapture --universe cloud-apt settag mendel-core-unstable spacepark-eng.$RELEASE:true
- Run the kokoro job for $RELEASE.
Cherry picks:
- Commit to master
- Cherry pick to next branch
- All packages we have updated need to have tags
- Checkout $current-release in continuous
git submodule update --remote --init
- Check status, update git submodules, commit
- Run the rapid release job on for $current-release
- Looks at the next branch looking for the latest versions and updates that way
- Tag the latest rapture with the next tag.