summaryrefslogtreecommitdiff
path: root/tcwg_kernel-build.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-02-07 16:33:53 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-02-07 16:56:46 +0000
commit34962065fb408fbd486d5765fe6a690c94ee4c8b (patch)
tree61a18ad852df1a48b98b1c709255f4ead0b7c2fd /tcwg_kernel-build.sh
parent742e147d463a1f9cf95c01077336b36d24187247 (diff)
tcwg_kernel-*.sh: Avoid proxy variables
... and use ${rr[X]} instead of $X. We make an exception for $current_project in tcwg_kernel-bisect.sh to do a mechanical change in a separate patch. Change-Id: Ib365552483d016e9096cc791f61a34015e50e32a
Diffstat (limited to 'tcwg_kernel-build.sh')
-rwxr-xr-xtcwg_kernel-build.sh81
1 files changed, 27 insertions, 54 deletions
diff --git a/tcwg_kernel-build.sh b/tcwg_kernel-build.sh
index 6eda2248..ab169e5b 100755
--- a/tcwg_kernel-build.sh
+++ b/tcwg_kernel-build.sh
@@ -1,66 +1,59 @@
#!/bin/bash
-set -ef -o pipefail
+set -euf -o pipefail
scripts=$(dirname $0)
. $scripts/jenkins-helpers.sh
convert_args_to_variables "$@"
+obligatory_variables rr[ci_config]
+
# Execution mode: baseline, bisect, continue, jenkins-full
-mode="${mode-baseline}"
-
-obligatory_variables toolchain \
- rr[linux_version] rr[linux_url] rr[linux_branch]
-
-# Toolchain to use: gnu or llvm
-case "$toolchain" in
- "gnu") obligatory_variables rr[gnu_version] \
- rr[binutils_url] rr[binutils_branch] \
- rr[gcc_url] rr[gcc_branch] ;;
- "llvm") obligatory_variables rr[llvm_version] \
- rr[llvm_url] rr[llvm_branch] ;;
-esac
+rr[mode]="${rr[mode]-baseline}"
-case "$mode" in
+case "${rr[mode]}" in
"jenkins-full")
- obligatory_variables current_project current_branch
+ obligatory_variables rr[current_project] rr[current_branch]
;;
esac
# Set custom revision for one of the projects, and use baseline revisions
# for all other projects.
-current_project="${current_project-none}"
-current_branch="${current_branch-default}"
+rr[ci_project]="${rr[ci_project]-tcwg_kernel}"
+rr[baseline_branch]="${rr[baseline_branch]-linaro-local/ci/${rr[ci_project]}/${rr[ci_config]}}"
+rr[current_branch]="${rr[current_branch]-default}"
+rr[current_project]="${rr[current_project]-none}"
+rr[reset_baseline]="${rr[reset_baseline]-false}"
+rr[top_artifacts]="${rr[top_artifacts]-$(pwd)/artifacts}"
+
+# {toolchain_name}-{toolchain_ver}-{target}-{linux}-{linux_config}
+IFS=- read -a ci_config <<EOF
+${rr[ci_config]}
+EOF
+rr[toolchain]=${rr[toolchain]-${ci_config[0]}}
+rr[target]=${rr[target]-${ci_config[2]}}
+rr[linux_config]=${rr[linux_config]-${ci_config[4]}}
-linux_config="${linux_config-defconfig}"
-reset_baseline="${reset_baseline-false}"
start_at="${start_at-default}"
finish_at="${finish_at-default}"
-target="${target-native}"
-top_artifacts="${top_artifacts-$(pwd)/artifacts}"
verbose="${verbose-true}"
verbose2="${verbose2-false}"
-set -u
-
if $verbose2; then set -x; fi
-trap "eval \"echo ERROR at \${FUNCNAME[0]}:\${BASH_LINENO[0]}\" > $top_artifacts/failures" EXIT
-
-if [ x"$target" = x"native" ]; then
- target=$(uname -m)
-fi
+trap "eval \"echo ERROR at \${FUNCNAME[0]}:\${BASH_LINENO[0]}\"" EXIT
# Set start and finish steps for different modes.
default_start_at=""
default_finish_at=""
-case "$mode" in
+base_artifacts_opt="base-artifacts"
+case "${rr[mode]}" in
"baseline")
default_finish_at="update_baseline"
;;
"bisect")
- case "$toolchain:$current_project" in
+ case "${rr[toolchain]}:${rr[current_project]}" in
gnu:binutils) default_start_at="build_abe-binutils" ;;
gnu:gcc) default_start_at="build_abe-stage1" ;;
gnu:linux) default_start_at="count_linux_objs" ;;
@@ -71,14 +64,14 @@ case "$mode" in
;;
"continue")
# Developer mode.
- case "$toolchain" in
+ case "${rr[toolchain]}" in
"gnu") default_start_at="prepare_abe" ;;
"llvm") default_start_at="build_llvm" ;;
esac
+ base_artifacts_opt=""
;;
"jenkins-full") ;;
esac
-
if [ x"$start_at" = x"default" ]; then
start_at="$default_start_at"
fi
@@ -86,27 +79,7 @@ if [ x"$finish_at" = x"default" ]; then
finish_at="$default_finish_at"
fi
-if [ x"$mode" != x"continue" ]; then
- base_artifacts_opt="base-artifacts"
-else
- base_artifacts_opt=""
-fi
-
-run_step_init "$start_at" "$finish_at" "$top_artifacts" "$base_artifacts_opt" "$verbose"
-
-rr[baseline_branch]="linaro-local/ci/tcwg_kernel/$toolchain-${rr[${toolchain}_version]}-$target-${rr[linux_version]}-$linux_config"
-rr[current_project]="$current_project"
-rr[current_branch]="$current_branch"
-rr[mode]="$mode"
-rr[reset_baseline]="$reset_baseline"
-rr[target]="$target"
-rr[top_artifacts]="$top_artifacts"
-
-# Linux config to build in build_linux.
-rr[linux_config]="$linux_config"
-
-# Toolchain to use: gnu or llvm.
-rr[toolchain]="$toolchain"
+run_step_init "$start_at" "$finish_at" "${rr[top_artifacts]}" "$base_artifacts_opt" "$verbose"
. $scripts/round-robin.sh