diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2022-11-25 13:51:51 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2022-11-29 14:54:56 +0000 |
commit | d9933694754957e1769d7c331d21b05c33983781 (patch) | |
tree | 3b9309d7c4b5caff277bec317cb002a97158b9c5 | |
parent | cae61649be98393925ff04cde9c1882e88c64475 (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-x | round-robin-bisect.sh | 14 |
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" \ |