aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Buynytskyy <alexbuy@google.com>2022-11-30 21:44:29 +0000
committerAlex Buynytskyy <alexbuy@google.com>2022-11-30 21:44:29 +0000
commit55de66354748de3fa7cf65061c2d1e27dd556d18 (patch)
tree876f16c1d423a289d2f0d7a8bf9b2f6efdcdd737
parentdd026fce63c5378e8305b86b48c79bf57b192ce0 (diff)
downloadbuild-55de66354748de3fa7cf65061c2d1e27dd556d18.tar.gz
The latest version of finalization scripts.
Bug: 243966946 Bug: 260755259 Test: run locally and in CI Change-Id: I515c25cd4c8dbde332c1788da29c391b07de5d48
-rwxr-xr-xfinalize-sdk-rel.sh35
-rwxr-xr-xfinalize-step-1-for-build-target.sh45
-rwxr-xr-xfinalize-step-2.sh48
3 files changed, 117 insertions, 11 deletions
diff --git a/finalize-sdk-rel.sh b/finalize-sdk-rel.sh
new file mode 100755
index 0000000000..d1c9026c2c
--- /dev/null
+++ b/finalize-sdk-rel.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+set -ex
+
+function finalize_sdk_rel() {
+ local DEV_SRC_DIR="$(dirname "$0")"/../..
+ local BUILD_PREFIX='UP1A'
+ local PLATFORM_CODENAME='UpsideDownCake'
+ local PLATFORM_VERSION='14'
+ local PLATFORM_SDK_VERSION='34'
+
+ # build/make/core/version_defaults.mk
+ sed -i -e "s/PLATFORM_VERSION_CODENAME.${BUILD_PREFIX} := .*/PLATFORM_VERSION_CODENAME.${BUILD_PREFIX} := REL/g" "$DEV_SRC_DIR/build/make/core/version_defaults.mk"
+
+ # cts
+ echo "$PLATFORM_VERSION" > "$DEV_SRC_DIR/cts/tests/tests/os/assets/platform_versions.txt"
+ git -C "$DEV_SRC_DIR/cts" mv hostsidetests/theme/assets/${PLATFORM_CODENAME} hostsidetests/theme/assets/${PLATFORM_SDK_VERSION}
+
+ # system/sepolicy
+ mkdir -p "$DEV_SRC_DIR/system/sepolicy/prebuilts/api/${PLATFORM_SDK_VERSION}.0/"
+ cp -r "$DEV_SRC_DIR/system/sepolicy/public/" "$DEV_SRC_DIR/system/sepolicy/prebuilts/api/${PLATFORM_SDK_VERSION}.0/"
+ cp -r "$DEV_SRC_DIR/system/sepolicy/private/" "$DEV_SRC_DIR/system/sepolicy/prebuilts/api/${PLATFORM_SDK_VERSION}.0/"
+
+ # prebuilts/abi-dumps/ndk
+ git -C "$DEV_SRC_DIR/prebuilts/abi-dumps/ndk" mv ${PLATFORM_CODENAME} ${PLATFORM_SDK_VERSION}
+
+ # prebuilts/abi-dumps/vndk
+ git -C "$DEV_SRC_DIR/prebuilts/abi-dumps/vndk" mv ${PLATFORM_CODENAME} ${PLATFORM_SDK_VERSION}
+
+ # prebuilts/abi-dumps/platform
+ git -C "$DEV_SRC_DIR/prebuilts/abi-dumps/platform" mv ${PLATFORM_CODENAME} ${PLATFORM_SDK_VERSION}
+}
+
+finalize_sdk_rel
+
diff --git a/finalize-step-1-for-build-target.sh b/finalize-step-1-for-build-target.sh
index 843c14282e..52cf0a76e0 100755
--- a/finalize-step-1-for-build-target.sh
+++ b/finalize-step-1-for-build-target.sh
@@ -2,18 +2,43 @@
# Continuous Integration script for *-finalization-1 branches.
# Reverts previous finalization script commits and runs local build.
+set -ex
+
function revert_to_unfinalized_state() {
- repo forall -c '\
- git checkout . ; git revert --abort ; git clean -fdx ;\
- git checkout @ ; git branch fina-step1 -D ; git reset --hard; \
- repo start fina-step1 ; git checkout @ ; git b fina-step1 -D ;\
- baselineHash="$(git log --format=%H --no-merges --max-count=1 --grep ^FINALIZATION_STEP_1_BASELINE_COMMIT)" ;\
+ declare -a projects=(
+ "build/make/"
+ "build/soong/"
+ "cts/"
+ "frameworks/base/"
+ "frameworks/hardware/interfaces/"
+ "frameworks/libs/modules-utils/"
+ "frameworks/libs/net/"
+ "hardware/interfaces/"
+ "libcore/"
+ "packages/services/Car/"
+ "platform_testing/"
+ "prebuilts/abi-dumps/ndk/"
+ "prebuilts/abi-dumps/platform/"
+ "prebuilts/abi-dumps/vndk/"
+ "system/hardware/interfaces/"
+ "system/tools/aidl/"
+ "tools/platform-compat"
+ "device/generic/car"
+ "development"
+ )
+
+ for project in "${projects[@]}"
+ do
+ local git_path="$top/$project"
+ echo "Reverting: $git_path"
+ baselineHash="$(git -C $git_path log --format=%H --no-merges --max-count=1 --grep ^FINALIZATION_STEP_1_BASELINE_COMMIT)" ;
if [[ $baselineHash ]]; then
- previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT $baselineHash..HEAD | tr \n \040)" ;\
+ previousHash="$(git -C $git_path log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT $baselineHash..HEAD | tr \n \040)" ;
else
- previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT | tr \n \040)" ;\
- fi ; \
- if [[ $previousHash ]]; then git revert --no-commit --strategy=ort --strategy-option=ours $previousHash ; fi ;'
+ previousHash="$(git -C $git_path log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT | tr \n \040)" ;
+ fi ;
+ if [[ $previousHash ]]; then git -C $git_path revert --no-commit --strategy=ort --strategy-option=ours $previousHash ; fi ;
+ done
}
function finalize_step_1_main() {
@@ -22,8 +47,6 @@ function finalize_step_1_main() {
revert_to_unfinalized_state
- set -ex
-
# vndk etc finalization
source $top/build/make/finalize-aidl-vndk-sdk-resources.sh
diff --git a/finalize-step-2.sh b/finalize-step-2.sh
new file mode 100755
index 0000000000..6e95ac462b
--- /dev/null
+++ b/finalize-step-2.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+# Automation for finalize_branch_for_release.sh.
+# Sets up local environment, runs the finalization script and submits the results.
+# WIP:
+# - does not submit, only sends to gerrit.
+
+# set -ex
+
+function revert_to_unfinalized_state() {
+ repo forall -c '\
+ git checkout . ; git revert --abort ; git clean -fdx ;\
+ git checkout @ ; git branch fina-step2 -D ; git reset --hard; \
+ repo start fina-step2 ; git checkout @ ; git b fina-step2 -D ;\
+ baselineHash="$(git log --format=%H --no-merges --max-count=1 --grep ^FINALIZATION_STEP_2_BASELINE_COMMIT)" ;\
+ if [[ $baselineHash ]]; then
+ previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_2_SCRIPT_COMMIT $baselineHash..HEAD | tr \n \040)" ;\
+ else
+ previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_2_SCRIPT_COMMIT | tr \n \040)" ;\
+ fi ; \
+ if [[ $previousHash ]]; then git revert --no-commit --strategy=ort --strategy-option=ours $previousHash ; fi ;'
+}
+
+function commit_changes() {
+ repo forall -c '\
+ if [[ $(git status --short) ]]; then
+ repo start fina-step1 ;
+ git add -A . ;
+ git commit -m FINALIZATION_STEP_2_SCRIPT_COMMIT -m WILL_BE_AUTOMATICALLY_REVERTED ;
+ repo upload --cbr --no-verify -t -y . ;
+ git clean -fdx ; git reset --hard ;
+ fi'
+}
+
+function finalize_step_2_main() {
+ local top="$(dirname "$0")"/../..
+
+ repo selfupdate
+
+ revert_to_unfinalized_state
+
+ # vndk etc finalization
+ source $top/build/make/finalize-aidl-vndk-sdk-resources.sh
+
+ # move all changes to fina-step1 branch and commit with a robot message
+ commit_changes
+}
+
+finalize_step_2_main