Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fce469f authored by Alex Buynytskyy's avatar Alex Buynytskyy Committed by Gerrit Code Review
Browse files

Merge "Minor renaming and documentation."

parents 40472c23 307d9bcf
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
# Finalization tools
This folder contains automation and CI scripts for [finalizing](https://go/android-finalization) Android before release.

## Automation:
1. [Environment setup](./environment.sh). Set values for varios finalization constants.
2. [Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh). Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
3. [Finalize Android](./finalize-sdk-rel.sh). 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.
4. [Finalize SDK and submit](./step-1.sh). Do [Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh) step, create CLs, organize them into topic and send to Gerrit.
  a. [Update SDK and submit](./update-step-1.sh). Same as above, but updates the existings CLs.
5. [Finalize Android and submit](./step-2.sh). Do [Finalize Android](./finalize-sdk-rel.sh) step, create  CLs, organize them into topic and send to Gerrit.
  a. [Update Android and submit](./update-step-2.sh). Same as above, but updates the existings CLs.

## CI:
Performed in build targets in Finalization branches.
1. [Finalization Step 1 for Main, git_main-fina-1-release](https://android-build.googleplex.com/builds/branches/git_main-fina-1-release/grid). Test [1st step/Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh).
2. [Finalization Step 1 for UDC, git_udc-fina-1-release](https://android-build.googleplex.com/builds/branches/git_udc-fina-1-release/grid). Same but for udc-dev.
3. [Finalization Step 2 for Main, git_main-fina-2-release](https://android-build.googleplex.com/builds/branches/git_main-fina-2-release/grid). Test [1st step/Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh) and [2nd step/Finalize Android](./finalize-sdk-rel.sh). Use [local finalization](./localonly-steps.sh) to build and copy presubmits.
4. [Finalization Step 2 for UDC, git_udc-fina-2-release](https://android-build.googleplex.com/builds/branches/git_udc-fina-2-release/grid). Same but for udc-dev.
5. [Local finalization steps](./localonly-steps.sh) are done only during local testing or in the CI lab. Normally these steps use artifacts from other builds.

## Utility:
[Full cleanup](./cleanup.sh). Remove all local changes and switch each project into head-less state. This is the best state to sync/rebase/finalize the branch.
+2 −2
Original line number Original line Diff line number Diff line
@@ -9,8 +9,8 @@ function finalize_main_step12() {
    # SDK codename -> int
    # SDK codename -> int
    source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
    source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh


    # Platform/Mainline SDKs build and move to prebuilts
    # ADB, Platform/Mainline SDKs build and move to prebuilts
    source $top/build/make/tools/finalization/localonly-finalize-mainline-sdk.sh
    source $top/build/make/tools/finalization/localonly-steps.sh


    # REL
    # REL
    source $top/build/make/tools/finalization/finalize-sdk-rel.sh
    source $top/build/make/tools/finalization/finalize-sdk-rel.sh
+2 −3
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@


set -ex
set -ex


function finalize_locally_mainline_sdk() {
function finalize_locally() {
    local top="$(dirname "$0")"/../../../..
    local top="$(dirname "$0")"/../../../..
    source $top/build/make/tools/finalization/environment.sh
    source $top/build/make/tools/finalization/environment.sh


@@ -23,5 +23,4 @@ function finalize_locally_mainline_sdk() {
    "$top/prebuilts/build-tools/path/linux-x86/python3" -W ignore::DeprecationWarning "$top/prebuilts/sdk/update_prebuilts.py" --local_mode -f ${FINAL_PLATFORM_SDK_VERSION} -e ${FINAL_MAINLINE_EXTENSION} --bug 1 1
    "$top/prebuilts/build-tools/path/linux-x86/python3" -W ignore::DeprecationWarning "$top/prebuilts/sdk/update_prebuilts.py" --local_mode -f ${FINAL_PLATFORM_SDK_VERSION} -e ${FINAL_MAINLINE_EXTENSION} --bug 1 1
}
}


finalize_locally_mainline_sdk
finalize_locally
+36 −0
Original line number Original line Diff line number Diff line
#!/bin/bash
# Script to perform a 1st step of Android Finalization: API/SDK finalization, update CLs and upload to Gerrit.

set -ex

function update_step_1_changes() {
    set +e
    repo forall -c '\
        if [[ $(git status --short) ]]; then
            git stash -u ;
            repo start "$FINAL_PLATFORM_CODENAME-SDK-Finalization" ;
            git stash pop ;
            git add -A . ;
            git commit --amend --no-edit ;
            repo upload --cbr --no-verify -o nokeycheck -t -y . ;
        fi'
}

function update_step_1_main() {
    local top="$(dirname "$0")"/../../../..
    source $top/build/make/tools/finalization/environment.sh


    local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"

    # vndk etc finalization
    source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh

    # update existing CLs and upload to gerrit
    update_step_1_changes

    # build to confirm everything is OK
    AIDL_FROZEN_REL=true $m
}

update_step_1_main
+33 −0
Original line number Original line Diff line number Diff line
#!/bin/bash
# Script to perform a 2nd step of Android Finalization: REL finalization, create CLs and upload to Gerrit.

function update_step_2_changes() {
    set +e
    repo forall -c '\
        if [[ $(git status --short) ]]; then
            git stash -u ;
            repo start "$FINAL_PLATFORM_CODENAME-SDK-Finalization-Rel" ;
            git stash pop ;
            git add -A . ;
            git commit --amend --no-edit ;
            repo upload --cbr --no-verify -o nokeycheck -t -y . ;
        fi'
}

function update_step_2_main() {
    local top="$(dirname "$0")"/../../../..
    source $top/build/make/tools/finalization/environment.sh

    local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"

    # prebuilts etc
    source $top/build/make/tools/finalization/finalize-sdk-rel.sh

    # move all changes to finalization branch/topic and upload to gerrit
    update_step_2_changes

    # build to confirm everything is OK
    AIDL_FROZEN_REL=true $m
}

update_step_2_main