platform_build/tools/finalization
Mårten Kongstad 3ada31ed55 finalization: set FINAL_STATE to 'rel'
VIC is set to REL. Accordingly, set FINAL_STATE to 'rel' to prevent the
finalization scripts from running steps that have already been merged.

Bug: 335304236
Test: treehugger (main-fina-2-release succeed)
Ignore-AOSP-FIRST: arrives in aosp with ap3a
Change-Id: Id42c3ae2ffead62ac6019690f0586d8db8d22ef8
2024-05-22 08:30:29 +02:00
..
build-step-0.sh Define step-0 for vintf finalization 2024-02-06 11:56:00 +09:00
build-step-1-and-2.sh Define step-0 for vintf finalization 2024-02-06 11:56:00 +09:00
build-step-1-and-m.sh Remove AIDL_FROZEN_REL from step-1/step-2 finalization 2024-04-05 15:38:13 +00:00
build-step-1.sh Define step-0 for vintf finalization 2024-02-06 11:56:00 +09:00
build_soong_java_droidstubs.go.apply_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
build_soong_java_droidstubs.go.revert_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
cleanup.sh Prepare for V finalization. 2024-03-06 23:46:48 +00:00
command-line-options.sh finalization: use same repo branch during dry-run 2024-04-08 17:15:22 +02:00
dryrun-cleanup.sh DryRun scripts. 2024-03-19 19:06:16 +00:00
dryrun-step-1-and-2.sh Remove AIDL_FROZEN_REL from step-1/step-2 finalization 2024-04-05 15:38:13 +00:00
dryrun-step-1.sh Remove AIDL_FROZEN_REL from step-1/step-2 finalization 2024-04-05 15:38:13 +00:00
environment.sh finalization: set FINAL_STATE to 'rel' 2024-05-22 08:30:29 +02:00
finalize-sdk-rel.sh Create APEX ABI dumps with next release configuration 2024-05-15 08:32:27 +00:00
finalize-sdk-resources.sh Update api_levels.go instead of api_constants.bzl 2024-04-09 17:51:20 +00:00
finalize-vintf-resources.sh Add the step to generate LLNDK ABI dumps 2024-04-30 02:43:21 +00:00
frameworks_base.apply_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
frameworks_base.revert_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
localonly-steps.sh Merge "Change build-release target for building module sdks" into main 2024-04-19 10:06:58 +00:00
OWNERS Finalization: update OWNERS 2024-04-03 17:20:42 +02:00
README.md DryRun scripts. 2024-03-19 19:06:16 +00:00
step-0.sh finalization: use same repo branch during dry-run 2024-04-08 17:15:22 +02:00
step-1.sh finalization: use same repo branch during dry-run 2024-04-08 17:15:22 +02:00
step-2.sh finalization: use same repo branch during dry-run 2024-04-08 17:15:22 +02: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 VINTF and submit. Do Finalize VINTF step, create CLs, organize them into topic and send to Gerrit.
  6. Finalize SDK and submit. Do Finalize SDK step, create CLs, organize them into topic and send to Gerrit.
  7. 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 0, git_main-fina-0-release. Test Finalize VINTF.
  2. Finalization Step 1, git_main-fina-1-release. Test Finalize VINTF, Finalize SDK.
  3. 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.
  4. 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.

Dry run:

Full cleanup. Remove all local changes and switch each project into head-less state. Also removes "DryRun" branches. SDK. Perform SDK finalization and upload the CLs to Gerrit. SDK and REL. Perform SDK finalization, plus all necessary changes to switch configuration to REL, and upload the CLs to Gerrit.