blob: bbcf03ec7de227218dc44d97c51179e00d12a504 [file] [log] [blame]
Alex Buynytskyy0842d212022-09-16 09:33:33 -07001#!/bin/bash
2# Automation for finalize_branch_for_release.sh.
3# Sets up local environment, runs the finalization script and submits the results.
4# WIP:
5# - does not submit, only sends to gerrit.
6
7# set -ex
8
Alex Buynytskyy92f501a2022-11-03 12:29:06 -07009function revert_to_unfinalized_state() {
Alex Buynytskyy0842d212022-09-16 09:33:33 -070010 repo forall -c '\
Alex Buynytskyy739a3112022-11-02 20:01:30 +000011 git checkout . ; git revert --abort ; git clean -fdx ;\
Alex Buynytskyy0842d212022-09-16 09:33:33 -070012 git checkout @ ; git b fina-step1 -D ; git reset --hard; \
13 repo start fina-step1 ; git checkout @ ; git b fina-step1 -D ;\
Alex Buynytskyy8361b3a2022-11-06 00:33:46 +000014 baselineHash="$(git log --format=%H --no-merges --max-count=1 --grep ^FINALIZATION_STEP_1_BASELINE_COMMIT)" ;\
15 if [[ $baselineHash ]]; then
16 previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT $baselineHash..HEAD | tr \n \040)" ;\
17 else
18 previousHash="$(git log --format=%H --no-merges --max-count=100 --grep ^FINALIZATION_STEP_1_SCRIPT_COMMIT | tr \n \040)" ;\
19 fi ; \
Alex Buynytskyy92f501a2022-11-03 12:29:06 -070020 if [[ $previousHash ]]; then git revert --no-commit --strategy=ort --strategy-option=ours $previousHash ; fi ;'
Alex Buynytskyy0842d212022-09-16 09:33:33 -070021}
22
Alex Buynytskyy73e0f972022-09-23 11:09:21 -070023function commit_changes() {
24 repo forall -c '\
25 if [[ $(git status --short) ]]; then
26 repo start fina-step1 ;
27 git add -A . ;
28 git commit -m FINALIZATION_STEP_1_SCRIPT_COMMIT -m WILL_BE_AUTOMATICALLY_REVERTED ;
29 repo upload --cbr --no-verify -t -y . ;
30 git clean -fdx ; git reset --hard ;
31 fi'
32}
33
Alex Buynytskyy0842d212022-09-16 09:33:33 -070034function finalize_step_1_main() {
35 local top="$(dirname "$0")"/../..
36
37 repo selfupdate
38
Alex Buynytskyy92f501a2022-11-03 12:29:06 -070039 revert_to_unfinalized_state
Alex Buynytskyy0842d212022-09-16 09:33:33 -070040
41 # vndk etc finalization
Alex Buynytskyy3bd1b912022-09-22 11:30:53 -070042 source $top/build/make/finalize-aidl-vndk-sdk-resources.sh
Alex Buynytskyy0842d212022-09-16 09:33:33 -070043
44 # move all changes to fina-step1 branch and commit with a robot message
Alex Buynytskyy73e0f972022-09-23 11:09:21 -070045 commit_changes
Alex Buynytskyy0842d212022-09-16 09:33:33 -070046}
47
48finalize_step_1_main