summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-03 14:54:38 +0000
committerTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-03 14:54:38 +0000
commit6403e50db4621aaf276f1dc59e4a932c4e6db3db (patch)
treecc2f71a0485944eb32a3a844f3a19306f716210b
parent4d26ff894440475174085aaf86ad64b02df5d076 (diff)
onsuccess: #527: 1: [TCWG CI] https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/
Results : | # reset_artifacts: | -10 | # build_aosp_toolchain: | -3 | # build_shadow_llvm: | -2 | # build_aosp: | -1 | # shadow build has no errors | 0 | # shadow.size present | 1 check_regression status : 0
-rw-r--r--01-reset_artifacts/console.log.xzbin2256 -> 2284 bytes
-rw-r--r--02-build_aosp_toolchain/console.log.xzbin278580 -> 273008 bytes
-rw-r--r--03-build_shadow_llvm/console.log.xzbin211724 -> 207720 bytes
-rw-r--r--04-build_aosp/console.log.xzbin42992 -> 43360 bytes
-rw-r--r--05-process_shadow_data/console.log.xzbin268 -> 268 bytes
-rw-r--r--06-check_regression/aosp.improvements1
-rw-r--r--06-check_regression/binary.improvements1
-rw-r--r--06-check_regression/console.log.xzbin3020 -> 3428 bytes
-rw-r--r--git/aosp_superproject_rev2
-rw-r--r--git/llvm_rev2
-rw-r--r--git/toolchain_superproject_rev2
-rw-r--r--jenkins/build-name2
-rw-r--r--jenkins/notify-full.log3697
-rw-r--r--jenkins/notify-init.log172
-rw-r--r--jenkins/rewrite.log27
-rw-r--r--jenkins/run-build.env14
-rw-r--r--manifest.sh8
-rw-r--r--notify/jira/comment-template.txt2
-rw-r--r--notify/mail-body.txt28
-rw-r--r--notify/mail-recipients.txt2
-rw-r--r--notify/mail-subject.txt2
-rw-r--r--results-vs-first/results.csv16
-rw-r--r--results-vs-prev/results.csv20
-rw-r--r--size.csv24
24 files changed, 435 insertions, 3587 deletions
diff --git a/01-reset_artifacts/console.log.xz b/01-reset_artifacts/console.log.xz
index f69b1c1..b9d3b03 100644
--- a/01-reset_artifacts/console.log.xz
+++ b/01-reset_artifacts/console.log.xz
Binary files differ
diff --git a/02-build_aosp_toolchain/console.log.xz b/02-build_aosp_toolchain/console.log.xz
index 6565eb8..36c8bf3 100644
--- a/02-build_aosp_toolchain/console.log.xz
+++ b/02-build_aosp_toolchain/console.log.xz
Binary files differ
diff --git a/03-build_shadow_llvm/console.log.xz b/03-build_shadow_llvm/console.log.xz
index d423fd0..df19e95 100644
--- a/03-build_shadow_llvm/console.log.xz
+++ b/03-build_shadow_llvm/console.log.xz
Binary files differ
diff --git a/04-build_aosp/console.log.xz b/04-build_aosp/console.log.xz
index c7f91a8..7f53a5f 100644
--- a/04-build_aosp/console.log.xz
+++ b/04-build_aosp/console.log.xz
Binary files differ
diff --git a/05-process_shadow_data/console.log.xz b/05-process_shadow_data/console.log.xz
index 935db2d..acfe491 100644
--- a/05-process_shadow_data/console.log.xz
+++ b/05-process_shadow_data/console.log.xz
Binary files differ
diff --git a/06-check_regression/aosp.improvements b/06-check_regression/aosp.improvements
new file mode 100644
index 0000000..909df4f
--- /dev/null
+++ b/06-check_regression/aosp.improvements
@@ -0,0 +1 @@
+-1,AOSP reduced in size by -1% from 16762397 to 16762069
diff --git a/06-check_regression/binary.improvements b/06-check_regression/binary.improvements
new file mode 100644
index 0000000..b0bc325
--- /dev/null
+++ b/06-check_regression/binary.improvements
@@ -0,0 +1 @@
+-1,out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so reduced in size by -1% from 21460 to 21348
diff --git a/06-check_regression/console.log.xz b/06-check_regression/console.log.xz
index 424f04d..19dd132 100644
--- a/06-check_regression/console.log.xz
+++ b/06-check_regression/console.log.xz
Binary files differ
diff --git a/git/aosp_superproject_rev b/git/aosp_superproject_rev
index bddbf6b..cc9e088 100644
--- a/git/aosp_superproject_rev
+++ b/git/aosp_superproject_rev
@@ -1 +1 @@
-d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
+1c4880953e85f79eebe21eabc70dda5378232475
diff --git a/git/llvm_rev b/git/llvm_rev
index 6ae7968..b5afb9b 100644
--- a/git/llvm_rev
+++ b/git/llvm_rev
@@ -1 +1 @@
-5f5f82af966e6edcc72df02b36fb54401ab76266
+6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
diff --git a/git/toolchain_superproject_rev b/git/toolchain_superproject_rev
index 3a4c2e7..082acb1 100644
--- a/git/toolchain_superproject_rev
+++ b/git/toolchain_superproject_rev
@@ -1 +1 @@
-c0b152310cc2a25e04f99e987b80f6ba6e574aab
+a793722f1fcf9a2cc2fda9687744f3c3361d375d
diff --git a/jenkins/build-name b/jenkins/build-name
index d995ec8..3a043e4 100644
--- a/jenkins/build-name
+++ b/jenkins/build-name
@@ -1 +1 @@
-#526-llvm-R1
+#527-aosp_superproject-llvm-toolchain_superproject-R1
diff --git a/jenkins/notify-full.log b/jenkins/notify-full.log
index 390c744..df46fd1 100644
--- a/jenkins/notify-full.log
+++ b/jenkins/notify-full.log
@@ -1,26 +1,26 @@
-++ pwd
++ cat
-+ remote_exec build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254: ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh
+++ pwd
++ remote_exec build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694: ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh
+ set -euf -o pipefail
+ local host
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -d: -f 1
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
-+ host=build-05.tcwglab
++ host=build-01.tcwglab
+ local port
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 2
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
+ port=
+ local dir
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_1
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_0
+ local opts
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 4
-+ opts=-p52254
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ opts=-p49694
+ local env_vars
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 5
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
+ env_vars=
+ shift
+ local -a cmd
@@ -58,11 +58,12 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_aosp-build.sh
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_1
-+ ssh -p52254 build-05.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_1 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh'
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_0
++ ssh -p49694 build-01.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_0 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh'
-/home/tcwg-buildslave/workspace/tcwg_aosp_1/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh
+/home/tcwg-buildslave/workspace/tcwg_aosp_0/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_aosp-build.sh
+# setup_notify_environment
+ false
+ dryrun=
+ declare top_artifacts ci_project ci_config
@@ -70,7 +71,6 @@
+ declare -a changed_components
+ declare print_commits_f print_result_f print_config_f print_last_icommit_f
+ dump_model_only=false
-# setup_notify_environment
+ setup_notify_environment
+ echo '# setup_notify_environment'
+ top_artifacts=artifacts
@@ -87,17 +87,17 @@
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/
+# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/
# Using dir : base-artifacts
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/'
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/'
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/
+# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/'
+ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
@@ -121,15 +121,34 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://android.googlesource.com/platform/superproject/main.git#main '!=' xbaseline ']'
++++ echo -ne aosp_superproject
++++ delim=' '
+++ for c in ${rr[components]}
+++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
-+++ echo -ne llvm
++++ echo -ne ' llvm'
+++ delim=' '
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://android.googlesource.com/platform/superproject#llvm-toolchain '!=' xbaseline ']'
++++ echo -ne ' toolchain_superproject'
++++ delim=' '
+++ echo
++ for c in $(print_updated_components)
++++ get_current_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/aosp_superproject_rev
++++ get_baseline_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/aosp_superproject_rev
+++ '[' x1c4880953e85f79eebe21eabc70dda5378232475 '!=' xd205fb89b3b49f85cba38aee76ed9ab97e2e17ab ']'
+++ echo -ne aosp_superproject
+++ delim=' '
+++ for c in $(print_updated_components)
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
@@ -141,78 +160,89 @@
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ '[' x5f5f82af966e6edcc72df02b36fb54401ab76266 '!=' x1a2e77cf9e11dbf56b5720c607313a566eebb16e ']'
-++ echo -ne llvm
+++ '[' x6e4692c9ee8718eed19288f0e5b2d9d6655cb56d '!=' x5f5f82af966e6edcc72df02b36fb54401ab76266 ']'
+++ echo -ne ' llvm'
+++ delim=' '
+++ for c in $(print_updated_components)
++++ get_current_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/toolchain_superproject_rev
++++ get_baseline_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/toolchain_superproject_rev
+++ '[' xa793722f1fcf9a2cc2fda9687744f3c3361d375d '!=' xc0b152310cc2a25e04f99e987b80f6ba6e574aab ']'
+++ echo -ne ' toolchain_superproject'
++ delim=' '
++ echo
+# Debug traces :
+# change_kind=multiple_components : aosp_superproject llvm toolchain_superproject
+ local c base_rev cur_rev c_commits
-+ '[' 1 = 0 ']'
-+ '[' 1 = 1 ']'
-+ changed_single_component=llvm
-++ get_current_git llvm_rev
++ '[' 3 = 0 ']'
++ '[' 3 = 1 ']'
++ change_kind=multiple_components
++ changed_single_component=
++ echo '# Debug traces :'
++ echo '# change_kind=multiple_components : aosp_superproject llvm toolchain_superproject'
++ for c in "${changed_components[@]}"
+++ get_baseline_git aosp_superproject_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ first_bad=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ get_baseline_git llvm_rev
+++ cat base-artifacts/git/aosp_superproject_rev
++ base_rev=d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
+++ get_current_git aosp_superproject_rev
++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ last_good=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-+ local res
-+ res=0
-+ wait 13428
-+ git -C llvm rev-parse --verify HEAD
-+ assert_with_msg 'Cannot parse HEAD in repo llvm' '[' 0 = 0 ']'
-+ set -euf -o pipefail +x
-+ single_commit_p llvm
-+ set -euf -o pipefail
-+ local c=llvm
-+ local base_rev cur_rev sha1
+++ cat artifacts/git/aosp_superproject_rev
++ cur_rev=1c4880953e85f79eebe21eabc70dda5378232475
+++ git -C aosp_superproject rev-list --count d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+# rev for aosp_superproject : d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475 (112 commits)
++ c_commits=112
++ echo '# rev for aosp_superproject : d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475 (112 commits)'
++ for c in "${changed_components[@]}"
++ get_baseline_git llvm_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++ set -euf -o pipefail +x
++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
++ base_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
++ get_current_git llvm_rev
++ set -euf -o pipefail
++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++ set -euf -o pipefail +x
++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ git -C llvm rev-parse '5f5f82af966e6edcc72df02b36fb54401ab76266^@'
-+ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
-+ '[' bd841111f340a73eb23c1be70ff1be4c8a6afb0c = 1a2e77cf9e11dbf56b5720c607313a566eebb16e ']'
-+ return 1
-# Debug traces :
-# change_kind=single_component : llvm
-+ change_kind=single_component
-+ echo '# Debug traces :'
-+ echo '# change_kind=single_component : llvm'
++ cur_rev=6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ git -C llvm rev-list --count 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+# rev for llvm : 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d (42 commits)
++ c_commits=42
++ echo '# rev for llvm : 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d (42 commits)'
+ for c in "${changed_components[@]}"
-++ get_baseline_git llvm_rev
+++ get_baseline_git toolchain_superproject_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-++ get_current_git llvm_rev
+++ cat base-artifacts/git/toolchain_superproject_rev
++ base_rev=c0b152310cc2a25e04f99e987b80f6ba6e574aab
+++ get_current_git toolchain_superproject_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ git -C llvm rev-list --count 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-# rev for llvm : 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266 (600 commits)
+++ cat artifacts/git/toolchain_superproject_rev
++ cur_rev=a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ git -C toolchain_superproject rev-list --count c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+# rev for toolchain_superproject : c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d (3 commits)
-+ c_commits=600
-+ echo '# rev for llvm : 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266 (600 commits)'
++ c_commits=3
++ echo '# rev for toolchain_superproject : c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d (3 commits)'
+ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
@@ -236,7 +266,7 @@
+ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=init
-+ '[' single_component '!=' single_commit ']'
++ '[' multiple_components '!=' single_commit ']'
+ return
+ '[' full '!=' full ']'
+ generate_extra_details
@@ -244,14 +274,14 @@
+ check_if_first_report
+ declare -g first_icommit_to_report
+ first_icommit_to_report=false
-+ '[' xsingle_component '!=' xsingle_commit ']'
++ '[' xmultiple_components '!=' xsingle_commit ']'
+ return
+ post_interesting_commits full
# post_interesting_commits
+ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=full
-+ '[' single_component '!=' single_commit ']'
++ '[' multiple_components '!=' single_commit ']'
+ return
+ true
+ generate_jira_dir
@@ -262,7 +292,7 @@
++ set -euf -o pipefail
++ local print_arg=--entry
++ shift 1
-++ '[' xsingle_component '!=' xsingle_commit ']'
+++ '[' xmultiple_components '!=' xsingle_commit ']'
++ return 0
+ icommit_entry=
+ '[' '' '!=' '' ']'
@@ -286,9 +316,9 @@
+++ get_current_manifest BUILD_URL
+++ get_manifest artifacts/manifest.sh BUILD_URL
+++ set +x
-++ url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts
+++ url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/artifact/artifacts
++ '[' '' '!=' '' ']'
-++ echo 'https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts/notify/mail-body.txt/*view*/'
+++ echo 'https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/artifact/artifacts/notify/mail-body.txt/*view*/'
# print all notification files
+ echo '# print all notification files'
+ true
@@ -296,3375 +326,79 @@
+ set -euf -o pipefail
+ print_mail_recipients
+ set -euf -o pipefail
-+ local c=llvm
-+ '[' llvm = '' ']'
-+ local -A emails
-+ emails["tcwg-validation@linaro.org"]=bcc
-+ emails["author"]=cc
-+ emails["committer"]=to
-+ case "$ci_project/$ci_config:$c" in
-+ emails["author"]=no
-+ emails["committer"]=no
-+ emails["antoine.moynault@linaro.org"]=to
-+ local c email base_rev cur_rev
-++ get_baseline_git llvm_rev
-++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-++ get_current_git llvm_rev
-++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-+ read -r email
-++ git -C llvm log --pretty=%ae 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ local precommit_postcommit=postcommit
++ local c=
+ '[' '' = '' ']'
-++ get_baseline_git llvm_rev
-++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-++ get_current_git llvm_rev
-++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-+ read -r email
-++ git -C llvm log --pretty=%ce 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ emails["$email"]=no
-+ read -r email
-+ unset 'emails[author]' 'emails[committer]'
-+ local type
-+ recipients=()
-+ local -a recipients
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=bcc
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ recipients+=("$type:$email")
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=to
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ recipients+=("$email")
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ for email in "${!emails[@]}"
-+ type=no
-+ case "$precommit_postcommit:$type" in
-+ case "$type" in
-+ IFS=,
-+ echo bcc:tcwg-validation@linaro.org,antoine.moynault@linaro.org
++ echo bcc:tcwg-validation@linaro.org
++ return 0
++ print_commits --oneline
++ set -euf -o pipefail
++ false
++ local print_arg=--oneline
-++ '[' single_component = no_change ']'
+++ '[' multiple_components = no_change ']'
++ local more_lines
-++ '[' single_component = single_commit ']'
-++ '[' single_component = single_component ']'
+++ '[' multiple_components = single_commit ']'
+++ '[' multiple_components = single_component ']'
+++ '[' multiple_components = multiple_components ']'
++ local new_commits c base_rev cur_rev c_commits components
++ local commits_or_patches
++ '[' '' '!=' '' ']'
++ commits_or_patches=commits
++ new_commits=0
++ for c in "${changed_components[@]}"
++++ get_baseline_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/aosp_superproject_rev
+++ base_rev=d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
++++ get_current_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/aosp_superproject_rev
+++ cur_rev=1c4880953e85f79eebe21eabc70dda5378232475
++++ git -C aosp_superproject rev-list --count d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+++ c_commits=112
+++ new_commits=112
+++ for c in "${changed_components[@]}"
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
+++ base_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
-++ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-+++ git -C llvm rev-list --count 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-++ c_commits=600
-++ new_commits=600
-+++ echo llvm
+++ cur_rev=6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
++++ git -C llvm rev-list --count 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ c_commits=42
+++ new_commits=154
+++ for c in "${changed_components[@]}"
++++ get_baseline_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/toolchain_superproject_rev
+++ base_rev=c0b152310cc2a25e04f99e987b80f6ba6e574aab
++++ get_current_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/toolchain_superproject_rev
+++ cur_rev=a793722f1fcf9a2cc2fda9687744f3c3361d375d
++++ git -C toolchain_superproject rev-list --count c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ c_commits=3
+++ new_commits=157
+++ tr ' ' ,
-++ components=llvm
-++ echo '600 commits in llvm'
++++ echo aosp_superproject llvm toolchain_superproject
+++ components=aosp_superproject,llvm,toolchain_superproject
+++ echo '157 commits in aosp_superproject,llvm,toolchain_superproject'
++ '[' --oneline = --oneline ']'
++ return 0
++ print_result --oneline
@@ -3679,17 +413,17 @@
++ case "$print_arg" in
++ case "$ci_config" in
++ echo oriole-master
-+ echo '[Linaro-TCWG-CI]' '600 commits in llvm: Success on oriole-master'
++ echo '[Linaro-TCWG-CI]' '157 commits in aosp_superproject,llvm,toolchain_superproject: Success on oriole-master'
+ print_mail_body
+ local bad_artifacts_url good_artifacts_url
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-+ bad_artifacts_url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts
++ bad_artifacts_url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/artifact/artifacts
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-+ good_artifacts_url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/artifact/artifacts
++ good_artifacts_url=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts
+ cat
++ print_config --short
++ false
@@ -3701,57 +435,133 @@
++ set -euf -o pipefail
++ false
++ local print_arg=--short
-++ '[' single_component = no_change ']'
+++ '[' multiple_components = no_change ']'
++ local more_lines
-++ '[' single_component = single_commit ']'
-++ '[' single_component = single_component ']'
+++ '[' multiple_components = single_commit ']'
+++ '[' multiple_components = single_component ']'
+++ '[' multiple_components = multiple_components ']'
++ local new_commits c base_rev cur_rev c_commits components
++ local commits_or_patches
++ '[' '' '!=' '' ']'
++ commits_or_patches=commits
++ new_commits=0
++ for c in "${changed_components[@]}"
++++ get_baseline_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/aosp_superproject_rev
+++ base_rev=d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
++++ get_current_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/aosp_superproject_rev
+++ cur_rev=1c4880953e85f79eebe21eabc70dda5378232475
++++ git -C aosp_superproject rev-list --count d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+++ c_commits=112
+++ new_commits=112
+++ for c in "${changed_components[@]}"
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
+++ base_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
-++ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-+++ git -C llvm rev-list --count 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-++ c_commits=600
-++ new_commits=600
-+++ echo llvm
+++ cur_rev=6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
++++ git -C llvm rev-list --count 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ c_commits=42
+++ new_commits=154
+++ for c in "${changed_components[@]}"
++++ get_baseline_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/toolchain_superproject_rev
+++ base_rev=c0b152310cc2a25e04f99e987b80f6ba6e574aab
++++ get_current_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/toolchain_superproject_rev
+++ cur_rev=a793722f1fcf9a2cc2fda9687744f3c3361d375d
++++ git -C toolchain_superproject rev-list --count c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ c_commits=3
+++ new_commits=157
+++ tr ' ' ,
-++ components=llvm
-++ echo '600 commits in llvm'
++++ echo aosp_superproject llvm toolchain_superproject
+++ components=aosp_superproject,llvm,toolchain_superproject
+++ echo '157 commits in aosp_superproject,llvm,toolchain_superproject'
++ '[' --short = --oneline ']'
++ for c in "${changed_components[@]}"
++++ get_baseline_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/aosp_superproject_rev
+++ base_rev=d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
++++ get_current_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/aosp_superproject_rev
+++ cur_rev=1c4880953e85f79eebe21eabc70dda5378232475
++++ git -C aosp_superproject rev-list --count d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+++ c_commits=112
+++ '[' '' '!=' '' ']'
+++ git -C aosp_superproject log -n 5 --oneline d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+++ '[' 112 -gt 5 ']'
+++ echo '... and 107 more commits in aosp_superproject'
+++ '[' '' '!=' '' ']'
+++ for c in "${changed_components[@]}"
+++ get_baseline_git llvm_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
+++ base_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/llvm_rev
-++ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-+++ git -C llvm rev-list --count 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-++ c_commits=600
+++ cur_rev=6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
++++ git -C llvm rev-list --count 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ c_commits=42
++ '[' '' '!=' '' ']'
-++ git -C llvm log -n 5 --oneline 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-++ '[' 600 -gt 5 ']'
-++ echo '... and 595 more commits in llvm'
+++ git -C llvm log -n 5 --oneline 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ '[' 42 -gt 5 ']'
+++ echo '... and 37 more commits in llvm'
+++ '[' '' '!=' '' ']'
+++ for c in "${changed_components[@]}"
++++ get_baseline_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/toolchain_superproject_rev
+++ base_rev=c0b152310cc2a25e04f99e987b80f6ba6e574aab
++++ get_current_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/toolchain_superproject_rev
+++ cur_rev=a793722f1fcf9a2cc2fda9687744f3c3361d375d
++++ git -C toolchain_superproject rev-list --count c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ c_commits=3
+++ '[' '' '!=' '' ']'
+++ git -C toolchain_superproject log -n 5 --oneline c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ '[' 3 -gt 5 ']'
++ '[' '' '!=' '' ']'
++ return 0
++ print_result --short
@@ -3786,14 +596,13 @@
# shadow build has no errors
0
# shadow.size present
-1
-# 1,out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so increased in size by 1% from 267048 to 271047'
+1'
++ print_config --long
++ false
++ local print_arg=--long
++ case "$print_arg" in
++ echo 'CI config tcwg_aosp-code_size-dex2oat/oriole-master'
-+ '[' single_component '!=' single_commit ']'
++ '[' multiple_components '!=' single_commit ']'
+ return
# generate dashboard
# generate_dashboard_squad
@@ -3813,7 +622,7 @@
+ echo '... Skipping'
+ return
+ generate_lnt_report
-+ wait 13560
++ wait 788138
# generate_lnt_report
... Skipping
+ set -euf -o pipefail
diff --git a/jenkins/notify-init.log b/jenkins/notify-init.log
index 923908e..7b2af01 100644
--- a/jenkins/notify-init.log
+++ b/jenkins/notify-init.log
@@ -1,25 +1,25 @@
-++ pwd
++ cat
-+ remote_exec build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254: ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh
+++ pwd
++ remote_exec build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694: ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh
+ set -euf -o pipefail
+ local host
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -d: -f 1
-+ host=build-05.tcwglab
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ host=build-01.tcwglab
+ local port
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 2
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
+ port=
+ local dir
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_1
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_0
+ local opts
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 4
-+ opts=-p52254
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ opts=-p49694
+ local env_vars
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -s -d: -f 5
+ env_vars=
+ shift
@@ -58,11 +58,12 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_aosp-build.sh
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_1
-+ ssh -p52254 build-05.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_1 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh'
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_0
++ ssh -p49694 build-01.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_0 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh'
-/home/tcwg-buildslave/workspace/tcwg_aosp_1/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh
+/home/tcwg-buildslave/workspace/tcwg_aosp_0/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_aosp-build.sh
+# setup_notify_environment
+ false
+ dryrun=
+ declare top_artifacts ci_project ci_config
@@ -70,7 +71,6 @@
+ declare -a changed_components
+ declare print_commits_f print_result_f print_config_f print_last_icommit_f
+ dump_model_only=false
-# setup_notify_environment
+ setup_notify_environment
+ echo '# setup_notify_environment'
+ top_artifacts=artifacts
@@ -87,17 +87,17 @@
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/
+# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/
# Using dir : base-artifacts
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/'
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/'
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/
+# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/'
+ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
@@ -121,15 +121,34 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://android.googlesource.com/platform/superproject/main.git#main '!=' xbaseline ']'
++++ echo -ne aosp_superproject
++++ delim=' '
+++ for c in ${rr[components]}
+++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
-+++ echo -ne llvm
++++ echo -ne ' llvm'
+++ delim=' '
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://android.googlesource.com/platform/superproject#llvm-toolchain '!=' xbaseline ']'
++++ echo -ne ' toolchain_superproject'
++++ delim=' '
+++ echo
++ for c in $(print_updated_components)
++++ get_current_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/aosp_superproject_rev
++++ get_baseline_git aosp_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/aosp_superproject_rev
+++ '[' x1c4880953e85f79eebe21eabc70dda5378232475 '!=' xd205fb89b3b49f85cba38aee76ed9ab97e2e17ab ']'
+++ echo -ne aosp_superproject
+++ delim=' '
+++ for c in $(print_updated_components)
+++ get_current_git llvm_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
@@ -141,78 +160,89 @@
+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ '[' x5f5f82af966e6edcc72df02b36fb54401ab76266 '!=' x1a2e77cf9e11dbf56b5720c607313a566eebb16e ']'
-++ echo -ne llvm
+++ '[' x6e4692c9ee8718eed19288f0e5b2d9d6655cb56d '!=' x5f5f82af966e6edcc72df02b36fb54401ab76266 ']'
+++ echo -ne ' llvm'
+++ delim=' '
+++ for c in $(print_updated_components)
++++ get_current_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/toolchain_superproject_rev
++++ get_baseline_git toolchain_superproject_rev
++++ set -euf -o pipefail
++++ local base_artifacts=base-artifacts
++++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++++ set -euf -o pipefail +x
++++ cat base-artifacts/git/toolchain_superproject_rev
+++ '[' xa793722f1fcf9a2cc2fda9687744f3c3361d375d '!=' xc0b152310cc2a25e04f99e987b80f6ba6e574aab ']'
+++ echo -ne ' toolchain_superproject'
++ delim=' '
++ echo
+# Debug traces :
+# change_kind=multiple_components : aosp_superproject llvm toolchain_superproject
+ local c base_rev cur_rev c_commits
-+ '[' 1 = 0 ']'
-+ '[' 1 = 1 ']'
-+ changed_single_component=llvm
-++ get_current_git llvm_rev
++ '[' 3 = 0 ']'
++ '[' 3 = 1 ']'
++ change_kind=multiple_components
++ changed_single_component=
++ echo '# Debug traces :'
++ echo '# change_kind=multiple_components : aosp_superproject llvm toolchain_superproject'
++ for c in "${changed_components[@]}"
+++ get_baseline_git aosp_superproject_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No aosp_superproject_rev in baseline git' '[' -f base-artifacts/git/aosp_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ first_bad=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ get_baseline_git llvm_rev
+++ cat base-artifacts/git/aosp_superproject_rev
++ base_rev=d205fb89b3b49f85cba38aee76ed9ab97e2e17ab
+++ get_current_git aosp_superproject_rev
++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No aosp_superproject_rev in current git' '[' -f artifacts/git/aosp_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ last_good=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-+ local res
-+ res=0
-+ wait 13315
-+ git -C llvm rev-parse --verify HEAD
-+ assert_with_msg 'Cannot parse HEAD in repo llvm' '[' 0 = 0 ']'
-+ set -euf -o pipefail +x
-+ single_commit_p llvm
-+ set -euf -o pipefail
-+ local c=llvm
-+ local base_rev cur_rev sha1
+++ cat artifacts/git/aosp_superproject_rev
++ cur_rev=1c4880953e85f79eebe21eabc70dda5378232475
+++ git -C aosp_superproject rev-list --count d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475
+# rev for aosp_superproject : d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475 (112 commits)
++ c_commits=112
++ echo '# rev for aosp_superproject : d205fb89b3b49f85cba38aee76ed9ab97e2e17ab..1c4880953e85f79eebe21eabc70dda5378232475 (112 commits)'
++ for c in "${changed_components[@]}"
++ get_baseline_git llvm_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++ set -euf -o pipefail +x
++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
++ base_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
++ get_current_git llvm_rev
++ set -euf -o pipefail
++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
++ set -euf -o pipefail +x
++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ git -C llvm rev-parse '5f5f82af966e6edcc72df02b36fb54401ab76266^@'
-+ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
-+ '[' bd841111f340a73eb23c1be70ff1be4c8a6afb0c = 1a2e77cf9e11dbf56b5720c607313a566eebb16e ']'
-+ return 1
-# Debug traces :
-# change_kind=single_component : llvm
-+ change_kind=single_component
-+ echo '# Debug traces :'
-+ echo '# change_kind=single_component : llvm'
++ cur_rev=6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+++ git -C llvm rev-list --count 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d
+# rev for llvm : 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d (42 commits)
++ c_commits=42
++ echo '# rev for llvm : 5f5f82af966e6edcc72df02b36fb54401ab76266..6e4692c9ee8718eed19288f0e5b2d9d6655cb56d (42 commits)'
+ for c in "${changed_components[@]}"
-++ get_baseline_git llvm_rev
+++ get_baseline_git toolchain_superproject_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No toolchain_superproject_rev in baseline git' '[' -f base-artifacts/git/toolchain_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=1a2e77cf9e11dbf56b5720c607313a566eebb16e
-++ get_current_git llvm_rev
+++ cat base-artifacts/git/toolchain_superproject_rev
++ base_rev=c0b152310cc2a25e04f99e987b80f6ba6e574aab
+++ get_current_git toolchain_superproject_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No toolchain_superproject_rev in current git' '[' -f artifacts/git/toolchain_superproject_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=5f5f82af966e6edcc72df02b36fb54401ab76266
-++ git -C llvm rev-list --count 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266
-# rev for llvm : 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266 (600 commits)
+++ cat artifacts/git/toolchain_superproject_rev
++ cur_rev=a793722f1fcf9a2cc2fda9687744f3c3361d375d
+++ git -C toolchain_superproject rev-list --count c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d
+# rev for toolchain_superproject : c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d (3 commits)
-+ c_commits=600
-+ echo '# rev for llvm : 1a2e77cf9e11dbf56b5720c607313a566eebb16e..5f5f82af966e6edcc72df02b36fb54401ab76266 (600 commits)'
++ c_commits=3
++ echo '# rev for toolchain_superproject : c0b152310cc2a25e04f99e987b80f6ba6e574aab..a793722f1fcf9a2cc2fda9687744f3c3361d375d (3 commits)'
+ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
@@ -232,13 +262,13 @@
+ generate_extra_details_f=generate_extra_details
+ case "$ci_project" in
+ post_interesting_commits init
-+ set -euf -o pipefail
# post_interesting_commits
-Init stage ran successfully.
++ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=init
-+ '[' single_component '!=' single_commit ']'
++ '[' multiple_components '!=' single_commit ']'
+ return
+Init stage ran successfully.
+ '[' init '!=' full ']'
+ echo 'Init stage ran successfully.'
+ exit 0
diff --git a/jenkins/rewrite.log b/jenkins/rewrite.log
index 7180b0d..88b5071 100644
--- a/jenkins/rewrite.log
+++ b/jenkins/rewrite.log
@@ -1,25 +1,25 @@
++ pwd
++ cat
-+ remote_exec build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254: ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_aosp-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
++ remote_exec build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694: ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_aosp-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
+ set -euf -o pipefail
+ local host
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -d: -f 1
-+ host=build-05.tcwglab
++ host=build-01.tcwglab
+ local port
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_1
++ dir=/home/tcwg-buildslave/workspace/tcwg_aosp_0
+ local opts
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
++ cut -s -d: -f 4
-+ opts=-p52254
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ opts=-p49694
+ local env_vars
-++ echo build-05.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_1:-p52254:
+++ echo build-01.tcwglab::/home/tcwg-buildslave/workspace/tcwg_aosp_0:-p49694:
++ cut -s -d: -f 5
+ env_vars=
+ shift
@@ -58,10 +58,5 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q 100
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_1
-+ ssh -p52254 build-05.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_1 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_aosp-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
-+ declare -g rewrite_base_artifacts_first=true
-+ true
-+ update_baseline
-+ set -euf -o pipefail
-+ rsync -aI --del --exclude /.git artifacts/ base-artifacts/
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_aosp_0
++ ssh -p49694 build-01.tcwglab 'cd /home/tcwg-buildslave/workspace/tcwg_aosp_0 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_aosp-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
diff --git a/jenkins/run-build.env b/jenkins/run-build.env
index f27b7fd..1e01128 100644
--- a/jenkins/run-build.env
+++ b/jenkins/run-build.env
@@ -1,9 +1,13 @@
-build_name="#526"
+build_name="#527"
docker_opts=(--distro
default )
source build_container.sh
trap "cleanup_all_containers" EXIT
-build_name="#526-llvm"
-branch_opt=(==rr\[llvm_git\]
-https://github.com/llvm/llvm-project.git#main )
-build_name="#526-llvm-R1"
+build_name="#527-aosp_superproject-llvm-toolchain_superproject"
+branch_opt=(==rr\[aosp_superproject_git\]
+https://android.googlesource.com/platform/superproject/main.git#main
+==rr\[llvm_git\]
+https://github.com/llvm/llvm-project.git#main
+==rr\[toolchain_superproject_git\]
+https://android.googlesource.com/platform/superproject#llvm-toolchain )
+build_name="#527-aosp_superproject-llvm-toolchain_superproject-R1"
diff --git a/manifest.sh b/manifest.sh
index 4096833..3f898d8 100644
--- a/manifest.sh
+++ b/manifest.sh
@@ -1,4 +1,4 @@
-declare -g "jenkins_scripts_rev=8083fa12f741e05d7137ee1da71bb782a428be4e"
+declare -g "jenkins_scripts_rev=83f6b98e1e5be793557d62b5319e0f80f3124bfc"
# Artifacts directory
# Recording parameters to manifest: artifacts/manifest.sh
rr[ci_project]="tcwg_aosp-code_size-dex2oat"
@@ -7,13 +7,14 @@ declare -g "bmk_branch=master"
declare -g "scripts_branch=master"
rr[mode]="build"
rr[update_baseline]="onsuccess"
-declare -g "BUILD_URL=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/"
+declare -g "BUILD_URL=https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/"
declare -g "SQUAD_GRP=tcwg"
+rr[aosp_superproject_git]="https://android.googlesource.com/platform/superproject/main.git#main"
rr[llvm_git]="https://github.com/llvm/llvm-project.git#main"
+rr[toolchain_superproject_git]="https://android.googlesource.com/platform/superproject#llvm-toolchain"
# Saving rr[] in the manifest
rr[abe_branch]="master"
rr[abe_repo]="https://git-us.linaro.org/toolchain/abe.git"
-rr[aosp_superproject_git]="baseline"
rr[baseline_branch]="linaro-local/ci/tcwg_aosp-code_size-dex2oat/oriole-master"
rr[breakup_changed_components]="breakup_changed_components llvm"
rr[components]="aosp_superproject llvm toolchain_superproject"
@@ -22,5 +23,4 @@ rr[host_cc]="/usr/bin/gcc"
rr[no_regression_p]="no_regression_p"
rr[no_regression_result]="0"
rr[old_format_baseline_branch]="linaro-local/ci/tcwg_aosp-code_size-dex2oat/oriole-master"
-rr[toolchain_superproject_git]="baseline"
declare -g "notify=ignore"
diff --git a/notify/jira/comment-template.txt b/notify/jira/comment-template.txt
index 0203e22..be6c8c5 100644
--- a/notify/jira/comment-template.txt
+++ b/notify/jira/comment-template.txt
@@ -1,3 +1,3 @@
[LLVM-1014]
Success
-Details: https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts/notify/mail-body.txt/*view*/
+Details: https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/artifact/artifacts/notify/mail-body.txt/*view*/
diff --git a/notify/mail-body.txt b/notify/mail-body.txt
index f4dff48..7221671 100644
--- a/notify/mail-body.txt
+++ b/notify/mail-body.txt
@@ -2,13 +2,22 @@ Dear contributor, our automatic CI has detected problems related to your patch(e
In CI config tcwg_aosp-code_size-dex2oat/oriole-master after:
- | 600 commits in llvm
- | 5f5f82af966e [llvm] Adjust files including llvm/Support/Endian.h (NFC)
- | bd841111f340 [TSAN] Add __tsan_check_no_mutexes_held helper (#69372)
- | 3cef582ae430 CodeGen: Port ExpandLargeFpConvert to new PM (#71027)
- | ae49bf5a7bab [RISCV] Fix stale comments in lowerShift*Parts. NFC
- | 61964f17478b [LLDB][easy] Fix a bug in DummySyntheticFrontEnd (#71143)
- | ... and 595 more commits in llvm
+ | 157 commits in aosp_superproject,llvm,toolchain_superproject
+ | 1c4880953e8 Merge "leaudio: If storage of LeAudio is broken make sure to rediscover device" into main
+ | 8833c7dad0a Merge "LeAudio: Use mock class for ASE control point ops" into main
+ | 9d23acb1f8c Autoupdate of 2 submodules
+ | 427306315e4 Merge "Add new vibrator control service to system_server" into main
+ | d08ed04389d Assign default bug component to targets in this directory.
+ | ... and 107 more commits in aosp_superproject
+ | 6e4692c9ee87 [AMDGPU] - Add s_wqm intrinsics (#71048)
+ | 1061c0150b58 [libc++] Remove legacy feature suse-linux-enterprise-server-11 (#71103)
+ | fe300f35ca1a [libc++][hardening] Add tests for the hardened mode with ABI breaks. (#71020)
+ | ab6bd9436ada [ConstraintElim] Add tests for additional SGT->UGT transfer.
+ | 8efaf7a518fa [ConstantFold] Remove redundant zero index gep fold (NFCI)
+ | ... and 37 more commits in llvm
+ | a793722f1fc Merge changes Ie6b8761c,I1edfc53d into main
+ | 9e06ad6c5a5 Merge "build: Remove unused imports" into main
+ | cce0db02df0 Merge "Remove extraneous text from header comments." into main
Results changed to
# reset_artifacts:
@@ -37,7 +46,6 @@ From
0
# shadow.size present
1
-# 1,out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so increased in size by 1% from 267048 to 271047
The configuration of this build is:
CI config tcwg_aosp-code_size-dex2oat/oriole-master
@@ -45,6 +53,6 @@ CI config tcwg_aosp-code_size-dex2oat/oriole-master
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
-Current build : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts
-Reference build : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/525/artifact/artifacts
+Current build : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/527/artifact/artifacts
+Reference build : https://ci.linaro.org/job/tcwg_aosp-code_size-dex2oat--oriole-master-build/526/artifact/artifacts
diff --git a/notify/mail-recipients.txt b/notify/mail-recipients.txt
index ba925c1..aa219ef 100644
--- a/notify/mail-recipients.txt
+++ b/notify/mail-recipients.txt
@@ -1 +1 @@
-bcc:tcwg-validation@linaro.org,antoine.moynault@linaro.org
+bcc:tcwg-validation@linaro.org
diff --git a/notify/mail-subject.txt b/notify/mail-subject.txt
index 555a104..f00ab19 100644
--- a/notify/mail-subject.txt
+++ b/notify/mail-subject.txt
@@ -1 +1 @@
-[Linaro-TCWG-CI] 600 commits in llvm: Success on oriole-master
+[Linaro-TCWG-CI] 157 commits in aosp_superproject,llvm,toolchain_superproject: Success on oriole-master
diff --git a/results-vs-first/results.csv b/results-vs-first/results.csv
index a2783d5..254722e 100644
--- a/results-vs-first/results.csv
+++ b/results-vs-first/results.csv
@@ -8,18 +8,18 @@ out/soong/.intermediates/external/zlib/libz/android_arm64_armv8-2a_cortex-a55_sh
out/soong/.intermediates/bionic/libc/libc/android_arm64_armv8-2a_cortex-a55_shared_current/libc.so,binary,101,126883,128305
out/soong/.intermediates/external/lzma/C/liblzma/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblzma.so,binary,100,175487,174983
out/soong/.intermediates/external/lz4/lib/liblz4/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblz4.so,binary,93,160379,148607
-out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,n/a,-1,1358917
out/soong/.intermediates/external/libcxx/libc++/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libc++.so,binary,n/a,-1,698226
out/soong/.intermediates/art/libartpalette/libartpalette/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartpalette.so,binary,n/a,-1,7541
-out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,n/a,-1,271047
-out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,n/a,-1,333602
out/soong/.intermediates/art/libnativebridge/libnativebridge/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativebridge.so,binary,n/a,-1,13197
-out/soong/.intermediates/art/libdexfile/libdexfile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libdexfile.so,binary,n/a,-1,214357
+out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,n/a,-1,271031
+out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,n/a,-1,1358925
+out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,n/a,-1,333602
out/soong/.intermediates/art/libnativeloader/libnativeloader/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativeloader.so,binary,n/a,-1,124642
+out/soong/.intermediates/art/libdexfile/libdexfile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libdexfile.so,binary,n/a,-1,214357
out/soong/.intermediates/art/libprofile/libprofile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libprofile.so,binary,n/a,-1,131060
out/soong/.intermediates/external/perfetto/heapprofd_client_api/android_arm64_armv8-2a_cortex-a55_shared_current/e4694d05f1cb76fefd10c9c37c092ec4/heapprofd_client_api.so,binary,n/a,-1,1048
-out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,n/a,-1,21460
-out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,n/a,-1,724795
+out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,n/a,-1,21348
+out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,n/a,-1,724667
out/soong/.intermediates/art/dexlayout/libart-dexlayout/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libart-dexlayout.so,binary,n/a,-1,319674
-out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,n/a,-1,11013318
-out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,n/a,-1,1035183
+out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,n/a,-1,11013286
+out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,n/a,-1,1035135
diff --git a/results-vs-prev/results.csv b/results-vs-prev/results.csv
index 0a917fc..d5bc61d 100644
--- a/results-vs-prev/results.csv
+++ b/results-vs-prev/results.csv
@@ -1,25 +1,25 @@
benchmark,symbol,rel_size,size_x,size_y
-out/soong/.intermediates/bionic/libdl/libdl/android_arm64_armv8-2a_cortex-a55_shared_current/libdl.so,binary,100,1352,1352
out/soong/.intermediates/bionic/libm/libm/android_arm64_armv8-2a_cortex-a55_shared_current/libm.so,binary,100,24046,24046
+out/soong/.intermediates/bionic/libdl/libdl/android_arm64_armv8-2a_cortex-a55_shared_current/libdl.so,binary,100,1352,1352
out/soong/.intermediates/bionic/libc/libc/android_arm64_armv8-2a_cortex-a55_shared_current/libc.so,binary,100,128305,128305
-out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,100,1358917,1358917
+out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,100,1358917,1358925
out/soong/.intermediates/system/logging/liblog/liblog/android_arm64_armv8-2a_cortex-a55_shared_current/liblog.so,binary,100,4867,4867
-out/soong/.intermediates/external/zlib/libz/android_arm64_armv8-2a_cortex-a55_shared_current/libz.so,binary,100,9027,9027
out/soong/.intermediates/external/libcxx/libc++/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libc++.so,binary,100,698226,698226
out/soong/.intermediates/art/libartpalette/libartpalette/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartpalette.so,binary,100,7541,7541
+out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,100,271047,271031
+out/soong/.intermediates/external/zlib/libz/android_arm64_armv8-2a_cortex-a55_shared_current/libz.so,binary,100,9027,9027
+out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,100,333602,333602
out/soong/.intermediates/bionic/libdl/libdl_android/android_arm64_armv8-2a_cortex-a55_shared_current/libdl_android.so,binary,100,926,926
out/soong/.intermediates/art/libnativebridge/libnativebridge/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativebridge.so,binary,100,13197,13197
-out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,100,271047,271047
-out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,100,333602,333602
-out/soong/.intermediates/art/libnativeloader/libnativeloader/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativeloader.so,binary,100,124642,124642
out/soong/.intermediates/art/libdexfile/libdexfile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libdexfile.so,binary,100,214357,214357
+out/soong/.intermediates/art/libnativeloader/libnativeloader/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativeloader.so,binary,100,124642,124642
out/soong/.intermediates/art/libprofile/libprofile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libprofile.so,binary,100,131060,131060
out/soong/.intermediates/external/lzma/C/liblzma/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblzma.so,binary,100,174983,174983
out/soong/.intermediates/external/perfetto/heapprofd_client_api/android_arm64_armv8-2a_cortex-a55_shared_current/e4694d05f1cb76fefd10c9c37c092ec4/heapprofd_client_api.so,binary,100,1048,1048
out/soong/.intermediates/packages/modules/StatsD/lib/libstatssocket/libstatssocket/android_arm64_armv8-2a_cortex-a55_shared_current/libstatssocket.so,binary,100,2217,2217
-out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,100,21460,21460
-out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,100,724795,724795
+out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,99,21460,21348
+out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,100,724795,724667
out/soong/.intermediates/external/lz4/lib/liblz4/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblz4.so,binary,100,148607,148607
out/soong/.intermediates/art/dexlayout/libart-dexlayout/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libart-dexlayout.so,binary,100,319674,319674
-out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,100,11013286,11013318
-out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,100,1035183,1035183
+out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,100,11013318,11013286
+out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,100,1035183,1035135
diff --git a/size.csv b/size.csv
index 1ccd6d6..0b67f47 100644
--- a/size.csv
+++ b/size.csv
@@ -1,25 +1,25 @@
benchmark,symbol,size
-out/soong/.intermediates/bionic/libm/libm/android_arm64_armv8-2a_cortex-a55_shared_current/libm.so,binary,24046
out/soong/.intermediates/bionic/libdl/libdl/android_arm64_armv8-2a_cortex-a55_shared_current/libdl.so,binary,1352
+out/soong/.intermediates/bionic/libm/libm/android_arm64_armv8-2a_cortex-a55_shared_current/libm.so,binary,24046
out/soong/.intermediates/bionic/libc/libc/android_arm64_armv8-2a_cortex-a55_shared_current/libc.so,binary,128305
-out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,1358917
out/soong/.intermediates/system/logging/liblog/liblog/android_arm64_armv8-2a_cortex-a55_shared_current/liblog.so,binary,4867
-out/soong/.intermediates/external/libcxx/libc++/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libc++.so,binary,698226
-out/soong/.intermediates/art/libartpalette/libartpalette/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartpalette.so,binary,7541
-out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,271047
out/soong/.intermediates/external/zlib/libz/android_arm64_armv8-2a_cortex-a55_shared_current/libz.so,binary,9027
-out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,333602
+out/soong/.intermediates/external/libcxx/libc++/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libc++.so,binary,698226
out/soong/.intermediates/bionic/libdl/libdl_android/android_arm64_armv8-2a_cortex-a55_shared_current/libdl_android.so,binary,926
+out/soong/.intermediates/art/libartpalette/libartpalette/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartpalette.so,binary,7541
out/soong/.intermediates/art/libnativebridge/libnativebridge/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativebridge.so,binary,13197
-out/soong/.intermediates/art/libdexfile/libdexfile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libdexfile.so,binary,214357
+out/soong/.intermediates/system/libbase/libbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/libbase.so,binary,271031
+out/soong/.intermediates/external/boringssl/libcrypto/android_arm64_armv8-2a_cortex-a55_shared_apex31/unhashed/libcrypto.so,binary,1358925
+out/soong/.intermediates/art/libartbase/libartbase/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libartbase.so,binary,333602
out/soong/.intermediates/art/libnativeloader/libnativeloader/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libnativeloader.so,binary,124642
+out/soong/.intermediates/art/libdexfile/libdexfile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libdexfile.so,binary,214357
out/soong/.intermediates/art/libprofile/libprofile/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libprofile.so,binary,131060
-out/soong/.intermediates/external/lzma/C/liblzma/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblzma.so,binary,174983
out/soong/.intermediates/external/perfetto/heapprofd_client_api/android_arm64_armv8-2a_cortex-a55_shared_current/e4694d05f1cb76fefd10c9c37c092ec4/heapprofd_client_api.so,binary,1048
+out/soong/.intermediates/external/lzma/C/liblzma/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblzma.so,binary,174983
out/soong/.intermediates/packages/modules/StatsD/lib/libstatssocket/libstatssocket/android_arm64_armv8-2a_cortex-a55_shared_current/libstatssocket.so,binary,2217
-out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,21460
-out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,724795
+out/soong/.intermediates/art/sigchainlib/libsigchain/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libsigchain.so,binary,21348
+out/soong/.intermediates/system/unwinding/libunwindstack/libunwindstack/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libunwindstack.so,binary,724667
out/soong/.intermediates/external/lz4/lib/liblz4/android_arm64_armv8-2a_cortex-a55_shared_apex31/unstripped/liblz4.so,binary,148607
out/soong/.intermediates/art/dexlayout/libart-dexlayout/android_arm64_armv8-2a_cortex-a55_shared_apex31/e4694d05f1cb76fefd10c9c37c092ec4/unstripped/libart-dexlayout.so,binary,319674
-out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,11013318
-out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,1035183
+out/soong/.intermediates/art/runtime/libart/android_arm64_armv8-2a_cortex-a55_shared_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/libart.so,binary,11013286
+out/soong/.intermediates/art/dex2oat/dex2oat/android_arm64_armv8-2a_cortex-a55_apex31/85eaf79f2cdb3360398d24cccc67f3ae/unstripped/dex2oat64,binary,1035135