summaryrefslogtreecommitdiff
path: root/round-robin-bisect.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-02-10 07:18:49 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-02-10 07:21:49 +0000
commit59bbbd97a5e7e4505a050a61d8a7bb34453c08ce (patch)
tree409308df27645a710e537b3f96c2c2b9ff3119fe /round-robin-bisect.sh
parentd486bea964c53065e4e8976335fe0d2c419d9c3f (diff)
round-robin-bisect.sh: Force baseline reset on CI environment change
We now have CI dashboard, which will catch abnormal ratio of forced builds. With increased number of CI loops we need to trust CI to recover automatically from minor environment changes. Change-Id: I949374b911d29d9d229715508b93159376ee2263
Diffstat (limited to 'round-robin-bisect.sh')
-rwxr-xr-xround-robin-bisect.sh19
1 files changed, 12 insertions, 7 deletions
diff --git a/round-robin-bisect.sh b/round-robin-bisect.sh
index 8ec89466..ac6cc5cc 100755
--- a/round-robin-bisect.sh
+++ b/round-robin-bisect.sh
@@ -291,17 +291,22 @@ linux_git=$bad_url#$baseline_rev
update_baseline=force
EOF
else
+ # Build for $bad_rev is successful, which can be due to a number
+ # of things:
+ # - Regressions in speed benchmarking are not 100% stable,
+ # - Something has changed in the build environment,
+ # - Underlying hardware has changed,
+ # - Something entirely different.
+ # In all these cases we recover by rebuilding from baseline sources
+ # and updating the baseline.
+ # If baseline reset->build->bisect->reset happens again and again,
+ # then this is a scripting or infrastructure problem, and we detect
+ # it by unusually high ratio of forced builds in CI dashboard.
echo "WARNING: build for bad_rev $bad_rev succeeded"
sed -i -e "s/\$/-spurious/" $artifacts/jenkins/build-name
- # Regressions in speed benchmarking are not stable,
- # so retry with resetting baseline artifacts.
- case "${rr[ci_project]}/${rr[ci_config]}" in
- tcwg_bmk*/*-O[23]*)
- cat > $artifacts/trigger-build-reset <<EOF
+ cat > $artifacts/trigger-build-reset <<EOF
update_baseline=force
EOF
- ;;
- esac
fi
trap "" EXIT
exit 0