Files
build/tools/finalization
Steven Moreland 0f84e4b21c Split finalization scripts between vFRC and sFRC.
This splits out the AIDL/VNDK/sepolicy stuff from the SDK
finalization. However, in CI, we still do the vFRC step
as part of the first step.

We'll probably want to do some of the following:
- (maybe) add CI for the first step - a 'fina-0' branch
- add a way to do SDK finalizatoin without VINTF finalization
  because after VINTF finalization is submitted, people will
  develop in-progress interfaces that aren't done yet
- a lot of VINTF finalization is still not automated, so things
  like sepolicy and LL-NDK need to be added here.

Ignore-AOSP-First: b/304316873#comment10

Bug: 314010935
Test: N/A
Change-Id: I4831a14f5c5c3d757bd1d10a775d8cf4940d9a4a
2023-12-27 00:24:00 +00:00
..
2023-02-10 02:32:42 +00:00
2023-02-10 02:32:42 +00:00

Finalization tools

This folder contains automation and CI scripts for finalizing Android before release.

Automation:

  1. Environment setup. Set values for varios finalization constants.
  2. Finalize VINTF. Prepare the branch for VINTF release.
  3. Finalize SDK. Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
  4. 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.
  5. Finalize SDK and submit. Do Finalize VINTF and Finalize SDK step, create CLs, organize them into topic and send to Gerrit.
  6. 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.

  1. Finalization Step 1, git_main-fina-1-release. Test Finalize VINTF, Finalize SDK.
  2. 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.
  3. 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.