summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2022-11-25 13:51:51 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2022-11-29 14:54:56 +0000
commitd9933694754957e1769d7c331d21b05c33983781 (patch)
tree3b9309d7c4b5caff277bec317cb002a97158b9c5
parentcae61649be98393925ff04cde9c1882e88c64475 (diff)
round-robin-bisect.sh: Allow passing parameters to the baseline build
... which enabled bisects for configurations with no branches/entries in base-artifacts.git repo. This allows for testing, analysis and investigation of CI projects/configurations that are in early development. E.g., to bisect LLVM revisions between reelease/13.x and release/14.x for a tcwg_aosp_size project with no entries in base-artifacts.git one could use: ~/jenkins-scripts/round-robin-bisect.sh %%rel_artifacts artifacts-1 \ --current_project llvm \ --bad_git https://github.com/llvm/llvm-project.git#release/14.x \ --build_script ~/jenkins-scripts/tcwg_aosp-build.sh \ -- \ # start of usual bisect parameters ==rr[ci_project] "tcwg_aosp_size" \ ==rr[ci_config] "llvm-release-aarch64-aosp-release" \ -- \ # start of parameters for the baseline build ==rr[llvm_git] "https://github.com/llvm/llvm-project.git#release/13.x" \ ==rr[aosp-manifest_git] "https://android.googlesource.com/platform/manifest.git#a7b08be17efeef04c2eb647caf3c180a539058cf" \ ==rr[toolchain-manifest_git] "https://android.googlesource.com/platform/manifest.git#13eb2b0abf6258f076eb41d590fc71396186eae7" Change-Id: I53e291f0ff9da20fe93f9f4c0083d89ff154521a
-rwxr-xr-xround-robin-bisect.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/round-robin-bisect.sh b/round-robin-bisect.sh
index d97e589..8ec8946 100755
--- a/round-robin-bisect.sh
+++ b/round-robin-bisect.sh
@@ -32,10 +32,23 @@ reproduce_bisect="${reproduce_bisect:-false}"
# Process build args and record them in build-parameters.sh
convert_args_to_variables ^^ $reproduce_bisect %%build_parameters $artifacts/build-parameters "$@"
$reproduce_bisect || manifest_pop
+# Account for "^^ false %%foo bar" options
+SHIFT_CONVERTED_ARGS=$(($SHIFT_CONVERTED_ARGS-4))
+shift "$SHIFT_CONVERTED_ARGS"
obligatory_variables build_parameters rr[ci_project] rr[ci_config]
declare build_parameters
+# Process build args and record them in build-parameters.sh
+convert_args_to_variables ^^ $reproduce_bisect %%baseline_parameters $artifacts/baseline-parameters "$@"
+$reproduce_bisect || manifest_pop
+# Account for "^^ false %%foo bar" options
+SHIFT_CONVERTED_ARGS=$(($SHIFT_CONVERTED_ARGS-4))
+shift "$SHIFT_CONVERTED_ARGS"
+
+obligatory_variables baseline_parameters
+declare baseline_parameters
+
verbose="${verbose-true}"
set -u
@@ -74,6 +87,7 @@ $build_script \
^^ $reproduce_bisect \
%%rr[top_artifacts] "$rel_artifacts/build-baseline" \
@@ $build_parameters/manifest.sh \
+ @@ $baseline_parameters/manifest.sh \
==rr[mode] build \
==rr[update_baseline] force \
--verbose "$verbose" \