summaryrefslogtreecommitdiff
path: root/round-robin.sh
AgeCommit message (Collapse)Author
2021-07-20round-robin.sh (clone_repo): Do not use single-branch clonesMaxim Kuvyrkov
... since it would complicate handling of revs vs real branches. Change-Id: Iaa480320b1c1c09f2782edd2a0b711e79f75b24b
2021-07-20round-robin-bisect.sh: Integrate workaround for creating new branchesMaxim Kuvyrkov
... from round-robin.sh:push_baseline(). Change-Id: Ie2b132f7b912e6d3dfa2cbf931ff70b6e08b06e3
2021-07-20round-robin-bisect.sh: Simplify handling of baseline repos/remotesMaxim Kuvyrkov
Create baseline remote only when we are about to push to them. Use baseline repos as normal repos for the rest of the build process. Change-Id: I17e6c57c051ae1b94921ccbb9ee1874fe0c41409
2021-07-20[NFC] round-robin.sh: Cleanup reset_artifacts()Maxim Kuvyrkov
Change-Id: I2f1ade4f2ad10f2aba446f2c7c1fe3a04623ffff
2021-07-20round-robin-bisect.sh: Move handling of one of the edge case hereMaxim Kuvyrkov
... so that we do not need to initialize baseline remote in normal builds. Change-Id: Ifd91af394b5e1c2db59cede4c5b03e0328520ea2
2021-07-18round-robin.sh (check_regression): Don't require baseline origin to existMaxim Kuvyrkov
Change-Id: Iec942da0b614d91afe68b59a57c8b5afbd1c14e0
2021-07-18round-robin.sh: Simplify logic for cloning baseline repoMaxim Kuvyrkov
... and don't require component's baseline branch to exist when it's not going to be used. Change-Id: I693fcc3306b1ce95cd684ffe23724b5cf477be01
2021-07-15round-robin.sh: Add a workaround for avoiding running TSan tests with QEMUMaxim Kuvyrkov
Change-Id: I49a5212bcdd43d698eec150dd9d0bb7ac57722fa
2021-07-11round-robin-bisect.sh: Save/restore baseline stateMaxim Kuvyrkov
... to avoid bisect tests cloberring shared state. Change-Id: Ibd8059d513df9ec5cf5fe49777c020c655a46fd4
2021-07-10round-robin.sh (clone_repo): Fix manifest overrideMaxim Kuvyrkov
Change-Id: I2686f4561ff29fb66d94eab9b85c23ccf86428d6
2021-07-08round-robin.sh: Fix cross-testing of GCCMaxim Kuvyrkov
Change-Id: I201f9510fdb1661862fbe2d492d0c46ce0952fb6
2021-07-08tcwg_gnu-build.sh: Bisect by running only testsuites with new failuresMaxim Kuvyrkov
Change-Id: If6bde929216475c988787993e59489f366af0c7c
2021-07-02round-robin.sh: Avoid using stale .sum filesMaxim Kuvyrkov
Change-Id: I0a826b802de1f4b93de0352a854dc96e48560da3
2021-07-02round-robin.sh: Don't build GCC GoMaxim Kuvyrkov
Go testsuite is unstable and we don't use Go for any of round-robin jobs. Change-Id: I91be6db4726a249d368cc38e7630e4cb9e2b65e9
2021-06-16round-robin.sh: Add ccache wrappers cc and c++Maxim Kuvyrkov
... which are preferred to gcc and g++ by cmake, e.g., in QEMU builds. Change-Id: I91cf262388d599b88f06d9901df48cc0d4d5925c
2021-03-26Make build_abe apply an optional patch for $component specified by --patch.Prathamesh Kulkarni
The change lets build_abe take an optional argument following --patch, that specifies a patch to be applied for $component. And in tcwg_bmk-build.sh, apply linaro-local/vect-metric-branch to stage-2 gcc for applying vect metric patch. Change-Id: Ica927685e40ea0ae3988557e5cb561c83abf2f3b
2021-01-04Update expected x86_64 host tuple for ABE buildsMaxim Kuvyrkov
... from x86_64-unknown-linux-gnu to x86_64-pc-linux-gnu after updating config.guess in ABE. Change-Id: I81333036fb8d183ad81e3fa5b5836645e8b6220f
2020-12-18round-robin.sh: Update build_llvm to use new monorepo layoutMaxim Kuvyrkov
Change-Id: Iadde2d578d0724137a477359c0d105c91966d40b
2020-12-12round-robin.sh: Update to follow ABE's new $builddir namingMaxim Kuvyrkov
Change-Id: I8ba472813afd2de119c8661fc5ad0c4f4b2f2c55
2020-12-12round-robin.sh: Better handle build failures in binutils and gccMaxim Kuvyrkov
Initialize baseline repo for components further down the build pipeline from the failed component. Change-Id: I4d6823011d0dd0cb1daefefc3f201d08bc94ce1e
2020-12-11round-robin.sh: Don't run "find" on non-existent directoryMaxim Kuvyrkov
... otherwise "find" fails. Change-Id: Iba71e97da8a547d2cc8f1d9e352e2e9edb5ca00a
2020-12-11round-robin.sh: Allow non-broken components to advance their revisionsMaxim Kuvyrkov
... when failure occurs in non-interesting components. Change-Id: Ic58fe08b048704a21830959105e20fab62935b82
2020-12-09round-robin.sh: Fix bisection of bootstrap failuresMaxim Kuvyrkov
... due to using broken just-built GCC instead of system GCC. Change-Id: I13f29eb7cf13e72eea541e5cd5bba8148dbbece3
2020-09-11jenkins-helpers.sh: Split $EXPECTED_EXIT into $INTERNAL_FAILMaxim Kuvyrkov
... and $EXTERNAL_FAIL. This allows us to distinguish between regressions that we should bisect and infra problems that we should skip bisects for. Change-Id: I8f3b82c86d95e27351b01a2b3d2467b8e15b309e
2020-09-11round-robin.sh: Fix QEMU bisectionsMaxim Kuvyrkov
Change-Id: I6f9e96686518596216020da0efe9f7903577c1ee
2020-07-30round-robin.sh: Compress testsuite logs to save disk spaceMaxim Kuvyrkov
Change-Id: I73e2ef1da8cb474b18a366ecccae09ab83185480
2020-07-06tcwg_bmk-build.sh: Gracefully handle benchmarking board going offlineMaxim Kuvyrkov
... which is represented by tcwg-benchmark-* build returning UNSTABLE result. Change-Id: Ifa8be8e601ef93412a3a62d9bed4a078fe38fa49
2020-07-02round-robin.sh: Fix check_regressionMaxim Kuvyrkov
Don't expect ${c}_url defined when ${c}_branch is "baseline". Change-Id: I436efd471dd55655ea9a125194823ed084552ecc
2020-06-27round-robin.sh: For all .sum files also copy matching .log filesMaxim Kuvyrkov
Change-Id: Iad5af1671239484b5a55830c75c23a8158d56252
2020-06-19tcwg_gnu-build.sh: Add *-build_cross and *-check_cross configurationsMaxim Kuvyrkov
Change-Id: Ic648660f11602ebf82a34bd95469ba1018592287
2020-05-29round-robin*.sh: Pass component URL alongside component branchesMaxim Kuvyrkov
... when not using special "baseline" branch specifier. Change-Id: If3aabeb1a2729b8d270d842fdd0ad5809ebc990d
2020-05-29round-robin.sh: Use implicit baseline when triggering bisectMaxim Kuvyrkov
Change-Id: Ide6dbb22152a5096ba21667f497f2571384579de
2020-05-28round-robin.sh: Simplify "check" logic of build_abe()Maxim Kuvyrkov
Make "build_abe FOO" build FOO and make "build_abe check_FOO" run FOO's testsuites. This also makes tcwg_gnu's bisections more efficient, since we will ignore FOO's build problems in "check" configurations. Change-Id: I71c644e801828b94d880bed7fe440e4db3ffb40b
2020-05-26round-robin.sh: Fix one more artifact in build_abe()Maxim Kuvyrkov
Pass same fake git URL to abe in both build and check steps. Before this patch we missed ".git" in the check step, which caused ABE to try rebuild the component. Change-Id: I0912854876b0054f413d168bd9152a2f530047a0
2020-05-22round-robin.sh (build_abe): Pass "--disable update" to ABEMaxim Kuvyrkov
... to avoid ABE updating sources. Change-Id: I82ef178a1dc1054b6642bd98335fcf013a425914
2020-05-20round-robin.sh: Fix "bootstrap check" build stepDavid Spickett
When I fixed a shellcheck warning here I changed an expression that previously would always delete the build folders. To one that would only do so when we were running a check step. Without deleting the build folders you got this in the "bootstrap check" step: 00:01:25 configure: loading cache ./config.cache 00:01:25 configure: error: `CC' has changed since the previous run: 00:01:25 configure: former value: `gcc' 00:01:25 configure: current value: `armv8l-unknown-linux-gnueabihf-gcc' (since the compiler built in "bootstrap" has been added to the PATH) The old behaviour works but only acidentally. Instead we should only update the source checkouts during non check steps. This means that ABE doesn't see a change and try to reconfigure. With that, there's no need for us to clean out the .stamp files for a check step anymore. Change-Id: Ifc5574fe422ae8a01618a1de02affceb7733ae0b
2020-05-14tcwg_bmk/round-robin: Add assert_with_msg functionDavid Spickett
This acts like assert but prints a message if the assert fails. This will be visible in the Jenkins logs and give us a unique string to look for in the abscence of traceback for shell scripts. Two instances of returning false in check_regression have had echos added to them, instead of asserts. This is because they are not hard failures, and may be handled by the caller. (run_step) I have only converted the tcwg-bmk relevant scripts to assert_with_msg so far, as a proof of concept. Change-Id: I3b1badf09e4856c80b973ca8b23088626ed66b0a
2020-05-05jenkins-helpers.sh: Add pwd check functionDavid Spickett
Used in other scripts to check that pwd isnt / before deleting things. Change-Id: Id3e284a486f300c97e92f730e84183340c999dd9
2020-04-30round-robin.sh/tcwg_kernel-build.shDavid Spickett
When looking for errors, exclude other uses of grep looking for errors. Without this we get job names with the entire grep line in the title. We could still get spurious names if there were no error lines found, but at least they'll be shorter. Change-Id: Iceb0279dff2bb51ff59977efaf3f0d523c91ce7c
2020-04-30Shellcheck fixes round 4David Spickett
Fixes for: https://github.com/koalaman/shellcheck/wiki/SC2207 Are using the bash 4.x 'mapfile' syntax where the input to the array is seperated by newlines. If it's separated by spaces we use 'read' instead. Support for selecting libc in MakeRelease.job was removed in 3fa23da28ad73d0fe4b512c4aab269b5280a6650. So remove references to "libc" which were expanding to nothing anyway. In tcwg-llvm-common.sh PROJECTS->BRANCHED_PROJECTS is not strictly needed. However shellcheck can't tell that the local PROJECTS in this file is different from the PROJECTS in tcwg-llvm-build.sh. Change-Id: Ie55968e3bf185d0bd5795fe48014636cda1009bc
2020-04-28Shellcheck fixes round 3David Spickett
Now using the version that's present in the bionic images. Meaning we have more warnings but can also set the minimum level to ignore a lot of them. Fix the check for whether shellcheck supports --severity. (we have pipefail on, but we expect shellcheck to fail in this case) Change-Id: I296b8554591b7d327c75393e3924184abc6512b7
2020-04-28round-robin.sh: Don't define $PATH as localMaxim Kuvyrkov
=== local PATH foo="$PATH" === causes "PATH: unbound variable" error Change-Id: I3038449c7ee798b2cd3065e3b307bfa04cb80b72
2020-04-22round-robin.sh: Fix shellcheck warningsDavid Spickett
* Disable "referenced but not assigned" for a bunch of parameters. These are set by the wrappers around this script. * Quote a bunch of expansions * Use * to get a string from arrays * When finding files split by null terminator so it doesn't break for filenames with spaces. * Declare and assign separately so we don't hide return values. * Ignore unsafe rm in prepare_abe since we know we'll be in the abe folder. * Add sanity check that pwd isn't / for build_llvm, then ignore the warning from the rm. Change-Id: I0b54e55946d56eef0d48b10c3ccfa30059809d46
2020-04-20Shellcheck warning fixesDavid Spickett
(all error/style level warnings) SC1035: missing whitespace SC2068: double quote array expansions SC2145: argument mixes string and array SC1066: Don't use $ on the left side of assignments SC2126: Use grep -c instead of grep|wc Change-Id: Ia53070d3e2c9aea9f626fdb7b2b5bfc9e1f8e682
2020-04-01tcwg_bmk-build.sh: Fix spurious failuresMaxim Kuvyrkov
... due to stray results.regressions file. This file can be generated by successful no_build_regression_p() invocation and contain harmless errors from toolchain build process. Change-Id: I237e09cd612c0b96d27d765de9bcd28f5ec51573
2020-03-22round-robin.sh: Merge info from "regressions.txt" to "results"Maxim Kuvyrkov
Change-Id: Iba2ba392d0ed6656548ead3245d4d7906bbdfbc0
2020-03-22round-robin.sh: Avoid changing top-level artifacts in no_regression_p predicateMaxim Kuvyrkov
The no_regression_p() predicate function is called from two steps: check_regression and update_baseline. While we want no_regression_p to output regression info during check_regression step, we don't want that during update_baseline (during update_baseline no_regression_p is called to compare current results against pre-baseline ones). To fix the above we generate regression information in artifacts directory of the current step, and copy it to the top-level only during check_regression step. Change-Id: Ib03d82f7afe60c406c7942f2fa086855df371171
2020-03-11Add annotations to round-robin's "results" fileMaxim Kuvyrkov
Annotations provide human-readable comments and data on regressions. For this we ignore all lines in "results" file starting with "#". Change-Id: I31328fe2c13895a7379137b00891a9d2fc0a39d7
2020-02-18Round-robin scripts: improve regression email contentsChristophe Lyon
When a regression occurs after the build phase, don't include harmless errors from the the build stage, and provide info from the test phase. Change-Id: I75ce76e81ecbda4492bb49e7d765c25cac599f12
2020-02-06round-robin.sh: Always generate comparison artifacts in check_regressionMaxim Kuvyrkov
These are valuable for one-shot benchmarking experiments. Change-Id: I6d63580156be9c7a9e3dcc906fb9128395fbbe33