Finalization tools
This folder contains automation and CI scripts for finalizing Android before release.
Automation:
- Environment setup. Set values for varios finalization constants.
- Finalize VINTF. Prepare the branch for VINTF release.
- Finalize SDK. Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
- Finalize Android. Mark branch as "REL", i.e. prepares for Android release. Any signed build containing these changes will be considered an official Android Release. Referred as a 2nd finalization step.
- Finalize VINTF and submit. Do Finalize VINTF step, create CLs, organize them into topic and send to Gerrit.
- Finalize SDK and submit. Do Finalize SDK step, create CLs, organize them into topic and send to Gerrit.
- Finalize Android and submit. Do Finalize Android step, create CLs, organize them into topic and send to Gerrit.
CI:
Performed in build targets in Finalization branches.
- Finalization Step 0, git_main-fina-0-release. Test Finalize VINTF.
- Finalization Step 1, git_main-fina-1-release. Test Finalize VINTF, Finalize SDK.
- Finalization Step 2, git_main-fina-2-release. Test Finalize VINTF, Finalize SDK, and 2nd step/Finalize Android. Use local finalization to build and copy presubmits.
- Local finalization steps are done only during local testing or in the CI lab. Normally these steps use artifacts from other builds.
Utility:
Full cleanup. Remove all local changes and switch each project into head-less state. This is the best state to sync/rebase/finalize the branch.