| # 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 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 |
| 5. Make a new release candidate for the appropriate release |
| - If no proposals exist for the release, create a new Rollup proposal and |
| approve it. |
| 6. Tag the latest rapture with the $RELEASE tag. |
| - rapture --universe cloud-apt settag mendel-core-unstable spacepark-eng.$RELEASE:true |
| 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. Checkout $current-release in continuous |
| 5. `git submodule update --remote --init` |
| 6. Check status, update git submodules, commit |
| 7. Run the rapid release job on for $current-release |
| - Looks at the next branch looking for the latest versions and updates that way |
| 8. Tag the latest rapture with the next tag. |