summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-07-16 16:22:19 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-07-26 17:37:36 +0000
commitbe80894db06e6c4ac0208949e0ef786f289fc8d9 (patch)
tree526fb28119f223c4d79627b32df368cecdca9883
parent6d83be4bdf66d21a17bf4858c04742e2fd57dbe2 (diff)
round-robin.sh: Stop bisecting non-interesting regressions
Currently we bisect regressions in all components equally, even when it means running benchmarks to bisect binutils, gcc or llvm internal build failures. This patch changes that by starting bisections only when the build progressed far enough to be interesting. For tcwg_kernel this means to reach kernel build step; for tcwg_bmk this means to reach benchmarking step; and for tcwg_gnu nothing is changing for now. Change-Id: I1c7c15e84fc3fd219108b0af549594be6b381768
-rw-r--r--round-robin.sh8
-rwxr-xr-xtcwg_bmk-build.sh1
-rwxr-xr-xtcwg_gnu-build.sh4
-rwxr-xr-xtcwg_kernel-build.sh2
4 files changed, 11 insertions, 4 deletions
diff --git a/round-robin.sh b/round-robin.sh
index 6dfcf83a..d9dfa388 100644
--- a/round-robin.sh
+++ b/round-robin.sh
@@ -400,6 +400,9 @@ check_regression ()
(
set -euf -o pipefail
+ local score
+ score=$(tail -n1 ${rr[top_artifacts]}/results)
+
if [ x"${rr[update_baseline]}" = x"update" ] \
&& ! no_regression_p base-artifacts ${rr[top_artifacts]}; then
local single_component=$(print_single_updated_component)
@@ -416,7 +419,10 @@ check_regression ()
fi
done >> ${rr[top_artifacts]}/trigger-build-$c
done
- else
+ elif ! [ $score -lt -1 ] 2>/dev/null; then
+ # Bisect failures in all steps after "-1" step.
+ # Note, the negative above is to handle non-numeric scores like
+ # "all" and "boot".
local baseline_rev cur_rev
baseline_rev=$(git_rev_parse_long $single_component ${rr[baseline_branch]} baseline)
cur_rev=$(git -C $single_component rev-parse HEAD)
diff --git a/tcwg_bmk-build.sh b/tcwg_bmk-build.sh
index d63f0a34..15800288 100755
--- a/tcwg_bmk-build.sh
+++ b/tcwg_bmk-build.sh
@@ -240,6 +240,7 @@ run_step skip_on_fail -6 build_abe glibc
run_step skip_on_fail -5 build_abe stage2
case "${rr[toolchain]}" in
llvm) run_step skip_on_fail -1 build_llvm true ;;
+ *) run_step skip_on_fail -1 true ;;
esac
run_step skip_on_fail 0 benchmark
run_step reset_on_fail x check_regression
diff --git a/tcwg_gnu-build.sh b/tcwg_gnu-build.sh
index ffbef9e3..b701dc55 100755
--- a/tcwg_gnu-build.sh
+++ b/tcwg_gnu-build.sh
@@ -101,9 +101,9 @@ no_regression_p ()
)
}
-run_step stop_on_fail -10 reset_artifacts
+run_step stop_on_fail -1 reset_artifacts
run_step stop_on_fail x prepare_abe
-run_step skip_on_fail -5 build_abe ${type_of_test}
+run_step skip_on_fail 0 build_abe ${type_of_test}
run_step reset_on_fail x check_regression
run_step stop_on_fail x update_baseline
run_step stop_on_fail x push_baseline
diff --git a/tcwg_kernel-build.sh b/tcwg_kernel-build.sh
index a053e99c..ad090ccc 100755
--- a/tcwg_kernel-build.sh
+++ b/tcwg_kernel-build.sh
@@ -253,7 +253,7 @@ case "${rr[toolchain]}" in
gnu)
run_step stop_on_fail x prepare_abe
run_step skip_on_fail -9 build_abe binutils
- run_step skip_on_fail -8 build_abe stage1
+ run_step skip_on_fail -1 build_abe stage1
;;
llvm)
run_step skip_on_fail -1 build_llvm