summaryrefslogtreecommitdiff
path: root/jenkins
diff options
context:
space:
mode:
authorTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-28 21:18:28 +0000
committerTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-11-28 21:19:04 +0000
commit1282735c29c049fe7575c1e418257ab629a45d06 (patch)
tree984fd800c75aaed9d7ee57ea09dc68db4fe1781e /jenkins
parenta946ec7ca6404ac63245ef07d92bd988a58e795e (diff)
onsuccess: #78: 1: [TCWG CI] https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/
Results : | # reset_artifacts: | -10 | # build_bmk_llvm: | -3 | # benchmark -- -O3_marm: | 1 check_regression status : 0
Diffstat (limited to 'jenkins')
-rw-r--r--jenkins/build-name2
-rw-r--r--jenkins/notify-full.log3731
-rw-r--r--jenkins/notify-init.log132
-rw-r--r--jenkins/rewrite.log24
-rw-r--r--jenkins/run-build.env11
5 files changed, 3791 insertions, 109 deletions
diff --git a/jenkins/build-name b/jenkins/build-name
index 2aa83f4..8e11dc5 100644
--- a/jenkins/build-name
+++ b/jenkins/build-name
@@ -1 +1 @@
-#77-R1-force
+#78-llvm-R1
diff --git a/jenkins/notify-full.log b/jenkins/notify-full.log
index 59707a0..0f87347 100644
--- a/jenkins/notify-full.log
+++ b/jenkins/notify-full.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_3
++ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_5
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 4
-+ opts=-p56211
++ opts=-p38096
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56211'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
+ shift
+ local -a cmd
+ cmd=()
@@ -58,10 +58,10 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_bmk-build.sh
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_3
-+ ssh -p56211 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56211 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_3 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh'
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_5
++ ssh -p38096 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=38096 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_5 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh'
-/home/tcwg-buildslave/workspace/tcwg_bmk_3/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
+/home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ijQW9spm0p7HwZnUtLFx7CCA __stage full __verbose true __build_script tcwg_bmk-build.sh
+ false
+ dryrun=
@@ -70,8 +70,8 @@
+ 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
+# setup_notify_environment
+ echo '# setup_notify_environment'
+ top_artifacts=artifacts
++ get_current_manifest '{rr[ci_project]}'
@@ -81,25 +81,25 @@
++ get_current_manifest '{rr[ci_config]}'
++ get_manifest artifacts/manifest.sh '{rr[ci_config]}'
++ set +x
-# Debug traces :
+ ci_config=llvm-arm-master-O3
+# Debug traces :
+ echo '# Debug traces :'
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/75/'
-# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/75/
+# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/'
# Using dir : base-artifacts
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/'
-# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/
+# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/'
# Using dir : artifacts
+
+ echo '# Using dir : artifacts'
+ echo ''
-
+ mkdir -p artifacts/notify
+ '[' -f /home/tcwg-buildslave/.jipdate.yml ']'
+ set +x
@@ -111,7 +111,7 @@
++ get_current_manifest '{rr[update_baseline]}'
++ get_manifest artifacts/manifest.sh '{rr[update_baseline]}'
++ set +x
-+ '[' force '!=' init ']'
++ '[' onsuccess '!=' init ']'
+ IFS=' '
+ read -r -a changed_components
++ print_changed_components
@@ -121,18 +121,94 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
++++ echo -ne llvm
++++ delim=' '
+++ echo
+++ 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 ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_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
+++ '[' x45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 '!=' x0ef990d57c1f8c37c754271c34601b08ca0e463c ']'
+++ echo -ne llvm
+++ delim=' '
++ echo
+ local c base_rev cur_rev c_commits
-+ '[' 0 = 0 ']'
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=llvm
+++ 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
++ first_bad=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ 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
++ last_good=0ef990d57c1f8c37c754271c34601b08ca0e463c
++ local res
++ res=0
++ wait 44935
++ 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
+++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ git -C llvm rev-parse '45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' 8ee38f3b32ef6fc4854e828a682956f35a01bd52 = 0ef990d57c1f8c37c754271c34601b08ca0e463c ']'
++ return 1
++ change_kind=single_component
# Debug traces :
-# change_kind=no_change :
-
-+ change_kind=no_change
-+ changed_single_component=
+ echo '# Debug traces :'
-+ echo '# change_kind=no_change : '
+# change_kind=single_component : llvm
++ echo '# change_kind=single_component : llvm'
++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ git -C llvm rev-list --count 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ c_commits=598
+# rev for llvm : 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 (598 commits)
+
++ echo '# rev for llvm : 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 (598 commits)'
+ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
@@ -156,10 +232,10 @@
+ generate_extra_details_f=bmk_generate_extra_details
+ post_interesting_commits init
+ set -euf -o pipefail
-# post_interesting_commits
+ echo '# post_interesting_commits'
+# post_interesting_commits
+ local stage=init
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ '[' full '!=' full ']'
+ bmk_generate_extra_details
@@ -167,21 +243,21 @@
+ local artifacts_mail_dir
+ artifacts_mail_dir=artifacts/notify
+ local res=0
-+ wait 44747
-+ /home/tcwg-buildslave/workspace/tcwg_bmk_3/jenkins-scripts/../bmk-scripts/output-bmk-results.py artifacts/results-vs-prev/compare-results-internal.csv artifacts/results-vs-prev/bmk-specific-variability.csv artifacts/notify/ sample build verbose
++ wait 44959
++ /home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/../bmk-scripts/output-bmk-results.py artifacts/results-vs-prev/compare-results-internal.csv artifacts/results-vs-prev/bmk-specific-variability.csv artifacts/notify/ sample build verbose
+ assert_with_msg 'ERROR while trying to regenerate bmk-data results. Aborting..' '[' 0 = 0 ']'
+ set -euf -o pipefail +x
+ check_if_first_report
+ declare -g first_icommit_to_report
+ first_icommit_to_report=false
-+ '[' xno_change '!=' xsingle_commit ']'
++ '[' xsingle_component '!=' xsingle_commit ']'
+ return
+ post_interesting_commits full
+ set -euf -o pipefail
# post_interesting_commits
+ echo '# post_interesting_commits'
+ local stage=full
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ true
+ generate_jira_dir
@@ -192,7 +268,7 @@
++ set -euf -o pipefail
++ local print_arg=--entry
++ shift 1
-++ '[' xno_change '!=' xsingle_commit ']'
+++ '[' xsingle_component '!=' xsingle_commit ']'
++ return 0
+ icommit_entry=
+ '[' '' '!=' '' ']'
@@ -241,26 +317,3394 @@
+++ get_current_manifest BUILD_URL
+++ get_manifest artifacts/manifest.sh BUILD_URL
+++ set +x
-++ url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/artifact/artifacts
+++ url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/artifact/artifacts
++ '[' '' '!=' '' ']'
-++ echo 'https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/artifact/artifacts/notify/mail-body.txt/*view*/'
-+ echo '# print all notification files'
+++ echo 'https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/artifact/artifacts/notify/mail-body.txt/*view*/'
# print all notification files
++ echo '# print all notification files'
+ true
+ generate_mail_files
+ set -euf -o pipefail
+ print_mail_recipients
+ set -euf -o pipefail
-+ local c=
++ 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["maxim.kuvyrkov@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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ read -r email
+++ git -C llvm log --pretty=%ae 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ 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
+ '[' '' = '' ']'
-+ echo bcc:tcwg-validation@linaro.org
-+ return 0
+++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ read -r email
+++ git -C llvm log --pretty=%ce 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ 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=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=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
++ IFS=,
++ echo bcc:tcwg-validation@linaro.org,maxim.kuvyrkov@linaro.org
++ print_commits --oneline
++ set -euf -o pipefail
++ false
++ local print_arg=--oneline
-++ '[' no_change = no_change ']'
-++ echo 'baseline build'
+++ '[' single_component = no_change ']'
+++ local more_lines
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
+++ 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 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
++++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++++ git -C llvm rev-list --count 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ c_commits=598
+++ new_commits=598
++++ echo llvm
++++ tr ' ' ,
+++ components=llvm
+++ echo '598 commits in llvm'
+++ '[' --oneline = --oneline ']'
++ return 0
++ bmk_print_result --oneline
++ set -euf -o pipefail
@@ -293,25 +3737,184 @@
++ '[' -f artifacts/notify/symbol.improvement ']'
++ short_diag='No change'
++ echo 'No change'
-+ echo '[Linaro-TCWG-CI]' 'baseline build: No change'
+++ bmk_print_config --oneline
+++ . /home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/tcwg_bmk-config.sh
++++ [[ -v rr[ci_project] ]]
++++ [[ -v rr[ci_config] ]]
++++ declare -A bmk_data
++++ bmk_data[tcwg_bmk-code_size-coremark--gnu_eabi-arm_eabi]=stm32:coremark
++++ bmk_data[tcwg_bmk-code_size-cpu2017fast--gnu-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_size-cpu2017fast--llvm-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_size-cpu2017rate--gnu-arm]=sq_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_size-cpu2017rate--llvm-arm]=sq_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_size-spec2k6--gnu-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--gnu-arm]=sq_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--llvm-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--llvm-arm]=sq_32:spec2006_nofortran
++++ bmk_data[tcwg_bmk-code_speed-coremark--gnu_eabi-arm_eabi]=stm32:coremark
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-aarch64]=tx1_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-arm]=tk1_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-aarch64]=tx1_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-arm]=tk1_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_speed-cpu2017speed--gnu-aarch64]=apm_64:spec2017_speed
++++ bmk_data[tcwg_bmk-code_speed-cpu2017speed--llvm-aarch64]=apm_64:spec2017_speed
++++ bmk_data[tcwg_bmk-qc_speed-cpu2017rate--llvm-aarch64]=qc_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-aarch64]=tx1_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-arm]=tk1_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-aarch64]=tx1_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-arm]=tk1_32:spec2006_nofortran
++++ bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--gnu-aarch64]=fx_64:spec2017_speed
++++ bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--llvm-aarch64]=fx_64:spec2017_speed
++++ bmk_data[tcwg_bmk-code_sve-cpu2017fast--gnu-aarch64]=fx_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017fast--gnu-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017fast--llvm-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017rate--gnu-arm]=sq_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_vect-cpu2017rate--llvm-arm]=sq_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-arm]=sq_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-arm]=sq_32:spec2006_nofortran
+++ false
+++ IFS=-
+++ read -a ci_pjt_cfg
+++ local toolchain target cflags
+++ toolchain=llvm
+++ target=arm
+++ cflags=O3
+++ local compiler= libc= linker= version= bmk_flags= hw=
++++ echo O3
++++ sed -e 's/_/ -/g'
+++ bmk_flags=O3
+++ local print_arg=--oneline
+++ case "$print_arg" in
+++ case "$ci_config" in
+++ echo 'arm O3'
+++ return 0
++ echo '[Linaro-TCWG-CI]' '598 commits in llvm: No change on arm O3'
+ 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_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/artifact/artifacts
++ bad_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/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_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/75/artifact/artifacts
++ good_artifacts_url=https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/artifact/artifacts
+ cat
+++ bmk_print_config --short
+++ . /home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/tcwg_bmk-config.sh
++++ [[ -v rr[ci_project] ]]
++++ [[ -v rr[ci_config] ]]
++++ declare -A bmk_data
++++ bmk_data[tcwg_bmk-code_size-coremark--gnu_eabi-arm_eabi]=stm32:coremark
++++ bmk_data[tcwg_bmk-code_size-cpu2017fast--gnu-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_size-cpu2017fast--llvm-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_size-cpu2017rate--gnu-arm]=sq_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_size-cpu2017rate--llvm-arm]=sq_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_size-spec2k6--gnu-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--gnu-arm]=sq_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--llvm-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_size-spec2k6--llvm-arm]=sq_32:spec2006_nofortran
++++ bmk_data[tcwg_bmk-code_speed-coremark--gnu_eabi-arm_eabi]=stm32:coremark
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-aarch64]=tx1_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--gnu-arm]=tk1_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-aarch64]=tx1_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-cpu2017rate--llvm-arm]=tk1_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_speed-cpu2017speed--gnu-aarch64]=apm_64:spec2017_speed
++++ bmk_data[tcwg_bmk-code_speed-cpu2017speed--llvm-aarch64]=apm_64:spec2017_speed
++++ bmk_data[tcwg_bmk-qc_speed-cpu2017rate--llvm-aarch64]=qc_64:spec2017_rate
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-aarch64]=tx1_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--gnu-arm]=tk1_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-aarch64]=tx1_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_speed-spec2k6--llvm-arm]=tk1_32:spec2006_nofortran
++++ bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--gnu-aarch64]=fx_64:spec2017_speed
++++ bmk_data[tcwg_bmk-fujitsu_speed-cpu2017speed--llvm-aarch64]=fx_64:spec2017_speed
++++ bmk_data[tcwg_bmk-code_sve-cpu2017fast--gnu-aarch64]=fx_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017fast--gnu-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017fast--llvm-aarch64]=sq_64:spec2017_fast
++++ bmk_data[tcwg_bmk-code_vect-cpu2017rate--gnu-arm]=sq_32:spec2017_rate
++++ bmk_data[tcwg_bmk-code_vect-cpu2017rate--llvm-arm]=sq_32:spec2017_rate_nofortran
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--gnu-arm]=sq_32:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-aarch64]=sq_64:spec2006_all
++++ bmk_data[tcwg_bmk-code_vect-spec2k6--llvm-arm]=sq_32:spec2006_nofortran
+++ false
+++ IFS=-
+++ read -a ci_pjt_cfg
+++ local toolchain target cflags
+++ toolchain=llvm
+++ target=arm
+++ cflags=O3
+++ local compiler= libc= linker= version= bmk_flags= hw=
++++ echo O3
++++ sed -e 's/_/ -/g'
+++ bmk_flags=O3
+++ local print_arg=--short
+++ case "$print_arg" in
+++ print_config --short
+++ false
+++ local print_arg=--short
+++ case "$print_arg" in
+++ echo 'CI config tcwg_bmk-code_speed-cpu2017rate/llvm-arm-master-O3'
+++ return 0
++ print_commits --short
++ sed -e 's/^/ | /'
++ set -euf -o pipefail
++ false
++ local print_arg=--short
-++ '[' no_change = no_change ']'
-++ echo 'baseline build'
+++ '[' single_component = no_change ']'
+++ local more_lines
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
+++ 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 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
++++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++++ git -C llvm rev-list --count 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ c_commits=598
+++ new_commits=598
++++ echo llvm
++++ tr ' ' ,
+++ components=llvm
+++ echo '598 commits in llvm'
+++ '[' --short = --oneline ']'
+++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
++++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++++ git -C llvm rev-list --count 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ c_commits=598
+++ '[' '' '!=' '' ']'
+++ git -C llvm log -n 5 --oneline 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ '[' 598 -gt 5 ']'
+++ echo '... and 593 more commits in llvm'
+++ '[' '' '!=' '' ']'
++ return 0
++ bmk_print_result --short
++ set -euf -o pipefail
@@ -342,8 +3945,8 @@
++ '[' -f artifacts/notify/exe.improvement ']'
++ '[' -f artifacts/notify/symbol.improvement ']'
++ echo 'No change'
-++ bmk_print_config
-++ . /home/tcwg-buildslave/workspace/tcwg_bmk_3/jenkins-scripts/tcwg_bmk-config.sh
+++ bmk_print_config --long
+++ . /home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/tcwg_bmk-config.sh
+++ [[ -v rr[ci_project] ]]
+++ [[ -v rr[ci_config] ]]
+++ declare -A bmk_data
@@ -386,6 +3989,12 @@
++ toolchain=llvm
++ target=arm
++ cflags=O3
+++ local compiler= libc= linker= version= bmk_flags= hw=
++++ echo O3
++++ sed -e 's/_/ -/g'
+++ bmk_flags=O3
+++ local print_arg=--long
+++ case "$print_arg" in
++ local bmk_suite publish_save_temps
++ bmk_suite=
++ publish_save_temps=false
@@ -409,16 +4018,12 @@
++ read s_t
+++ find results-1 -path 'save.*.temps/*.tar.xz'
++ '[' -d artifacts/top-artifacts/save-temps/ ']'
-++ local compiler= libc= linker= version= bmk_flags= hw=
++ case "$toolchain" in
++ compiler=Clang
++ libc=Glibc
++ linker='LLVM Linker'
++ case "$ci_config" in
++ version='tip of trunk'
-+++ echo O3
-+++ sed -e 's/_/ -/g' -e s/LTO/flto/g -e s/VECT/fdump-tree-vect-details/g
-++ bmk_flags=O3
++ case "$(tcwg_bmk_hw)" in
+++ tcwg_bmk_hw
+++ local data data_key
@@ -437,27 +4042,27 @@
+++ case "$target" in
+++ target=arm-linux-gnueabihf
+++ echo arm-linux-gnueabihf
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
-+ echo '# generate dashboard'
# generate dashboard
++ echo '# generate dashboard'
+ generate_dashboard_squad
-# generate_dashboard_squad
-... Skipping
-# post_dashboard_squad
-... Skipping
+ local results_date
+# generate_dashboard_squad
+ echo '# generate_dashboard_squad'
+ false
+ echo '... Skipping'
+... Skipping
+ return
+ post_dashboard_squad
+# post_dashboard_squad
+ echo '# post_dashboard_squad'
+ false
+... Skipping
+ echo '... Skipping'
+ return
+ generate_lnt_report
-+ wait 44824
++ wait 45104
+ set -euf -o pipefail
# generate_lnt_report
+ echo '# generate_lnt_report'
@@ -469,12 +4074,12 @@
+ false
+ post_to_jira
+ set -euf -o pipefail
-# post_to_jira
+ echo '# post_to_jira'
+# post_to_jira
+ local post_card_comment=false
+ local post_template_comment=false
+ false
+ false
+ false
-+ echo 'Full stage ran successfully.'
Full stage ran successfully.
++ echo 'Full stage ran successfully.'
diff --git a/jenkins/notify-init.log b/jenkins/notify-init.log
index cebe3bb..27af5f8 100644
--- a/jenkins/notify-init.log
+++ b/jenkins/notify-init.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096' ./jenkins-scripts/round-robin-notify.sh '@@rr[top_artifacts]' artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_3
++ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_5
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 4
-+ opts=-p56211
++ opts=-p38096
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56211'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
+ shift
+ local -a cmd
+ cmd=()
@@ -58,10 +58,10 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q tcwg_bmk-build.sh
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_3
-+ ssh -p56211 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56211 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_3 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh'
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_5
++ ssh -p38096 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=38096 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_5 && exec ./jenkins-scripts/round-robin-notify.sh @@rr\[top_artifacts\] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh'
-/home/tcwg-buildslave/workspace/tcwg_bmk_3/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
+/home/tcwg-buildslave/workspace/tcwg_bmk_5/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_bmk-build.sh
+ false
+ dryrun=
@@ -70,8 +70,8 @@
+ 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
+# setup_notify_environment
+ echo '# setup_notify_environment'
+ top_artifacts=artifacts
++ get_current_manifest '{rr[ci_project]}'
@@ -87,15 +87,15 @@
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/75/'
-# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/75/
+# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/'
# Using dir : base-artifacts
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/'
-# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/77/
+# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_bmk-code_speed-cpu2017rate--llvm-arm-master-O3-build/78/'
# Using dir : artifacts
+ echo '# Using dir : artifacts'
@@ -111,7 +111,7 @@
++ get_current_manifest '{rr[update_baseline]}'
++ get_manifest artifacts/manifest.sh '{rr[update_baseline]}'
++ set +x
-+ '[' force '!=' init ']'
++ '[' onsuccess '!=' init ']'
+ IFS=' '
+ read -r -a changed_components
++ print_changed_components
@@ -121,19 +121,95 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xbaseline '!=' xbaseline ']'
++++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
++++ echo -ne llvm
++++ delim=' '
+++ echo
+++ 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 ']'
++++ set -euf -o pipefail +x
++++ cat artifacts/git/llvm_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
+++ '[' x45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 '!=' x0ef990d57c1f8c37c754271c34601b08ca0e463c ']'
+++ echo -ne llvm
+++ delim=' '
++ echo
+ local c base_rev cur_rev c_commits
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=llvm
+++ 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
++ first_bad=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ 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
++ last_good=0ef990d57c1f8c37c754271c34601b08ca0e463c
++ local res
++ res=0
++ wait 44822
++ 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
+++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ git -C llvm rev-parse '45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' 8ee38f3b32ef6fc4854e828a682956f35a01bd52 = 0ef990d57c1f8c37c754271c34601b08ca0e463c ']'
++ return 1
++ change_kind=single_component
# Debug traces :
-+ '[' 0 = 0 ']'
-+ change_kind=no_change
-+ changed_single_component=
+ echo '# Debug traces :'
-# change_kind=no_change :
-+ echo '# change_kind=no_change : '
-
+# change_kind=single_component : llvm
++ echo '# change_kind=single_component : llvm'
++ 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=0ef990d57c1f8c37c754271c34601b08ca0e463c
+++ 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=45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
+++ git -C llvm rev-list --count 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405
++ c_commits=598
+# rev for llvm : 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 (598 commits)
++ echo '# rev for llvm : 0ef990d57c1f8c37c754271c34601b08ca0e463c..45636ecf2c3a4a216f26bfe5a7d1495b9f7a8405 (598 commits)'
+ echo ''
+
+ setup_stages_to_run
+ '[' ignore = onregression ']'
+ '[' ignore = precommit ']'
@@ -156,10 +232,10 @@
+ generate_extra_details_f=bmk_generate_extra_details
+ post_interesting_commits init
+ set -euf -o pipefail
-+ echo '# post_interesting_commits'
# post_interesting_commits
++ echo '# post_interesting_commits'
+ local stage=init
-+ '[' no_change '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ '[' init '!=' full ']'
Init stage ran successfully.
diff --git a/jenkins/rewrite.log b/jenkins/rewrite.log
index 621fc25..3a20fd9 100644
--- a/jenkins/rewrite.log
+++ b/jenkins/rewrite.log
@@ -1,27 +1,27 @@
++ pwd
++ cat
-+ remote_exec 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211' ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
++ remote_exec 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096' ./jenkins-scripts/round-robin-baseline.sh '@@rr[top_artifacts]' artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100
+ set -euf -o pipefail
+ local host
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -d: -f 1
-+ host=tcwg-jade-03
++ host=tcwg-snow_bmk-02
+ local port
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 2
+ port=
+ local dir
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 3
-+ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_3
++ dir=/home/tcwg-buildslave/workspace/tcwg_bmk_5
+ local opts
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 4
-+ opts=-p56211
++ opts=-p38096
+ local env_vars
-++ echo 'tcwg-jade-03::/home/tcwg-buildslave/workspace/tcwg_bmk_3:-p56211:ssh_host=tcwg-jade-03 ssh_port=56211'
+++ echo 'tcwg-snow_bmk-02::/home/tcwg-buildslave/workspace/tcwg_bmk_5:-p38096:ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
++ cut -s -d: -f 5
-+ env_vars='ssh_host=tcwg-jade-03 ssh_port=56211'
++ env_vars='ssh_host=tcwg-snow_bmk-02 ssh_port=38096'
+ shift
+ local -a cmd
+ cmd=()
@@ -58,8 +58,8 @@
+ for i in "$@"
+ cmd+=("$(printf '%q' "$i")")
++ printf %q 100
-++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_3
-+ ssh -p56211 tcwg-jade-03 'export ssh_host=tcwg-jade-03 ssh_port=56211 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_3 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
+++ printf %q /home/tcwg-buildslave/workspace/tcwg_bmk_5
++ ssh -p38096 tcwg-snow_bmk-02 'export ssh_host=tcwg-snow_bmk-02 ssh_port=38096 && cd /home/tcwg-buildslave/workspace/tcwg_bmk_5 && exec ./jenkins-scripts/round-robin-baseline.sh @@rr\[top_artifacts\] artifacts __build_script tcwg_bmk-build.sh __push_base_artifacts true __rewrite_base_artifacts true __rewrite_num 100'
+ declare -g rewrite_base_artifacts_first=true
+ true
+ update_baseline
diff --git a/jenkins/run-build.env b/jenkins/run-build.env
index acb4e4f..354ac34 100644
--- a/jenkins/run-build.env
+++ b/jenkins/run-build.env
@@ -1,14 +1,15 @@
-build_name="#77"
+build_name="#78"
docker_opts=(--distro
default
--arch
armhf
--node
-tcwg-jade-03
+tcwg-snow_bmk-02
--ssh_info
true )
source build_container.sh
trap "cleanup_all_containers" EXIT
-build_name="#77"
-branch_opt=()
-build_name="#77-R1-force"
+build_name="#78-llvm"
+branch_opt=(==rr\[llvm_git\]
+https://github.com/llvm/llvm-project.git#main )
+build_name="#78-llvm-R1"