From d9933694754957e1769d7c331d21b05c33983781 Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Fri, 25 Nov 2022 13:51:51 +0000 Subject: 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 --- round-robin-bisect.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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" \ -- cgit v1.2.3