summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-03-11 09:39:50 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-03-15 06:36:58 +0000
commit258dc2d14d1374840daa7cb41154dfcdb0b41d55 (patch)
treee90532a2489b090c5be5462278ecf7675f74efe8
parent82cbd12c5395b01d1a4ba3b7b62611d3065f7122 (diff)
round-robin.sh: Workaround re-writes of base-artifacts.git history
Change-Id: I946de0b6d4d4ee62f1bae1532ad9bff52131bcb5
-rw-r--r--round-robin.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/round-robin.sh b/round-robin.sh
index 81b04e95..21d7862a 100644
--- a/round-robin.sh
+++ b/round-robin.sh
@@ -91,14 +91,23 @@ reset_artifacts ()
local single_branch=${rr[baseline_branch]}
- # Clone base-artifacts so that run_step can rsync artifacts for skipped
- # steps.
+ # Clone base-artifacts here so that bisect runs (which skip this step)
+ # don't overwrite it.
# base-artifacts repo is big and changes all the time, so we
# fetch only the $baseline_branch, instead of all branches.
- rr[base-artifacts_rev]="${rr[base-artifacts_rev]-${rr[baseline_branch]}}"
- if ${rr[init_configuration]-false}; then
+ #
+ # Since we re-write history of base-artifacts all the time we can't
+ # rely on SHA1 stored in manifests (aka ${rr[base-artifacts_rev]}) to
+ # exist. The important case here is reproduction of regressions from
+ # email instructions: baseline run with reset_baseline set. We could
+ # have tagged such SHA1s to keep them stored in the repo, but it is easier
+ # to just ignore base-artifacts_rev when reset_baseline is set.
+ if ${rr[init_configuration]-false} \
+ || ${rr[base-artifacts_rev]+${rr[reset_baseline]}}; then
rr[base-artifacts_rev]=empty
single_branch=empty
+ else
+ rr[base-artifacts_rev]="${rr[base-artifacts_rev]-${rr[baseline_branch]}}"
fi
clone_or_update_repo base-artifacts ${rr[base-artifacts_rev]} https://git-us.linaro.org/toolchain/ci/base-artifacts.git auto $single_branch