diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-03-22 15:44:00 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-04-16 09:11:06 +0000 |
commit | 4ecd3dc43e4851fdd88455f6488eff4d39124be0 (patch) | |
tree | addcdb284a3c31399c0234c364fb5d25860b3e1c /tcwg_gnu-build.sh | |
parent | 47b5f3241cc42d3e54b6f15e14fb607324e4cf8d (diff) |
round-robin.sh: Add ${rr[update_baseline]} "rebase" capability
When initial results of CI jobs are not ideal we may be interested
in exporing whether earlier versions of components gave better results.
This is useful for general book-keeping, and as basis for manual
bisections. E.g., for code-size benchmarking we have started with
gcc-8 branches, but, ideally, also want to check whether gcc-7, gcc-6,
and earlier branches might have provided smaller binaries.
For this we add "rebase" mode for update_baseline parameter. This
mode is intended to be manually selected in jenkins web-UI, along
with component versions pre-dating earliest result recorded in
base-artifacts.git repo. The essence of this mode is to push results
to the bottom of base-artifacts.git history, rather than the top.
For code-size example we would trigger builds for gcc versions from
latest to earliest: gcc-7, gcc-6, gcc-5, and so on.
Note that "rebase" builds don't change apparent baseline viewed by
normal builds.
Change-Id: I0b0590a90460a1cd273165c0bf270a4cb227515a
Diffstat (limited to 'tcwg_gnu-build.sh')
-rwxr-xr-x | tcwg_gnu-build.sh | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/tcwg_gnu-build.sh b/tcwg_gnu-build.sh index ef8354dd..da14ef5b 100755 --- a/tcwg_gnu-build.sh +++ b/tcwg_gnu-build.sh @@ -74,17 +74,20 @@ no_regression_p () ( set -euf -o pipefail + local ref_artifacts=$1 + local new_artifacts=$2 + # The following check tests for an empty branch, and we return 0 if results # are not present, since that's an inherently better state. If base-artifacts # were not existing, then it would fail in reset_artifacts() stage. - if ! [ -f base-artifacts/results ]; then + if ! [ -f $ref_artifacts/results ]; then return 0 fi local build_result_ref build_result_new - build_result_ref=$(tail -n1 base-artifacts/results) - build_result_new=$(tail -n1 ${rr[top_artifacts]}/results) + build_result_ref=$(tail -n1 $ref_artifacts/results) + build_result_new=$(tail -n1 $new_artifacts/results) if [ $build_result_new -lt $build_result_ref ]; then return 1 |