diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-07-16 16:22:19 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-07-26 17:37:36 +0000 |
commit | be80894db06e6c4ac0208949e0ef786f289fc8d9 (patch) | |
tree | 526fb28119f223c4d79627b32df368cecdca9883 | |
parent | 6d83be4bdf66d21a17bf4858c04742e2fd57dbe2 (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.sh | 8 | ||||
-rwxr-xr-x | tcwg_bmk-build.sh | 1 | ||||
-rwxr-xr-x | tcwg_gnu-build.sh | 4 | ||||
-rwxr-xr-x | tcwg_kernel-build.sh | 2 |
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 |