summaryrefslogtreecommitdiff
path: root/tcwg_gnu-build.sh
AgeCommit message (Collapse)Author
2021-07-09tcwg_gnu-build.sh: Fix broken pipe from "head"Maxim Kuvyrkov
Change-Id: If00aa62fed1882fc0f89f5a47d362112dc32ec3c
2021-07-08tcwg_gnu-build.sh: Fix format of trigger-bisect fileMaxim Kuvyrkov
Change-Id: I75bebc665acc4cb153a0da839f4286784df11333
2021-07-08tcwg_gnu-build.sh: Don't count extra or missing .sum files as failuresMaxim Kuvyrkov
... because we can add or remove testsuites, as is the case with Go tests. Change-Id: I339adb8c6d01630e6f0aa56ec9c4488b7f0ae8a5
2021-07-08tcwg_gnu-build.sh: Bisect by running only testsuites with new failuresMaxim Kuvyrkov
Change-Id: If6bde929216475c988787993e59489f366af0c7c
2021-07-08tcwg_gnu-build.sh: Compare results using validate_failures.pyMaxim Kuvyrkov
Change-Id: Icd08eb2890c1a33d55267480d817e91a6800c017
2021-07-02tcwg_gnu-build.sh: Use Linaro's DejaGnu branchMaxim Kuvyrkov
... which has fixes and workarounds for expect and DejaGnu bugs. Change-Id: I02719f88d6d885b27457ca8c2d1ef91d974826af
2021-07-02tcwg_gnu-build.sh: Avoid huge lists in results.regressionsMaxim Kuvyrkov
... which then do into base-artifacts commit log messages. Change-Id: I174492761df8e86ffe292e7acb445a18883873eb
2020-12-15tcwg_gnu-build.sh: Add missing ";;"Maxim Kuvyrkov
Change-Id: If254462b53a5eb060777d7dcfaaaff36c6e0fede
2020-12-15Revert "tcwg_{bmk,gnu,kernel}-build.sh: Update to not override passed ↵Maxim Kuvyrkov
rr[components]" This reverts commit 5a80a7248f90c25f983f7412d2432f8f1ad26368. Reason for revert: This was a bad idea. Change-Id: Ib9deb1247ded5714cccc88baf5535892e78f5baa
2020-12-15tcwg_{bmk,gnu,kernel}-build.sh: Update to not override passed rr[components]Maxim Kuvyrkov
Change-Id: I1b2dbfb294e72bab2a14cbb91a4dec03b58a37fb
2020-09-14tcwg_gnu-build.sh: Reduce pass thresholdMaxim Kuvyrkov
... for benefit of tcwg_binutils project, which is currently at 0.93. Change-Id: I23338a905fc68b1b6bb94babdfac7a36577ad8e8
2020-07-03tcwg_gnu-build.sh: Use results comparison scripts from gcc-compare-resultsChristophe Lyon
They are based on GCC's compare_tests but support a list of unstable tests. Change-Id: Icc582846d2cdd5df895cad373e3021fc7e154fbd
2020-06-19tcwg_gnu-build.sh: Fix order of cross-toolchain buildMaxim Kuvyrkov
Change-Id: Ibb21daee5883fade944073ef4cdb1d57ba905548
2020-06-19tcwg_gnu-build.sh: Add *-build_cross and *-check_cross configurationsMaxim Kuvyrkov
Change-Id: Ic648660f11602ebf82a34bd95469ba1018592287
2020-06-09tcwg_gnu-build.sh: Fix shellcheck warningsMaxim Kuvyrkov
Change-Id: I6735863b1937995e6e4883e0a811376222219bf4
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-27tcwg_gnu-build.sh: Fix detection of build failureMaxim Kuvyrkov
Right now when bootstrap fails we get score "0" from reset_artifacts, and when bootstrap succeeds, but tests fail, we get same "0" from "build_abe bootstrap". This makes us ignore bootstrap failures. Fix by assigning reset_artifacts "-1" score. Change-Id: I021c7f2c987634cde0a8052191955ac7c8a05f2e
2020-05-18tcwg_bmk-build/tcwg_gnu-build: Add traceback printingDavid Spickett
The line number you get from the previous message is confusing. For example: ERROR at run_step:524 Means that something in the function run_step, which was called from line 524, called exit. Instead, add a Python style traceback that shows the call stack with file, line and the content of that line. (though unfortunatley we can't get the line no. of the exit itself) Example traceback: ERROR Traceback (most recent call last): File: /tmp/foo.sh, line 37 foo # hey! File: /tmp/foo.sh, line 32 bar # hi there File: /tmp/foo.sh, line 1 (trap handler, 'exit' call line is unknown) Change-Id: Id6a2734e2b5ef74d05cd51cdbde9a95e5d5a4b44
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-23Shellcheck fixes round 2David Spickett
Also update the sanity check script to include .job files. Change-Id: Ibf72d9ff346ff7b012d4e282a6ac8f3b7e73590d
2020-04-22tcwg_gnu-build.sh: Don't overwrite existing GCC repoMaxim Kuvyrkov
Clone GCC repo in no_regression_p() only when GCC is NOT among the components we build. Otherwise we get GCC checkout switched to "master" branch from whatever it was before. This breaks bisection since "git bisect run" will use wrong value of GCC clone's HEAD in its "git bisect good/bad" operations. Change-Id: I5f736bcb046e955c55ed7c07c4a864098316a073
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-10tcwg_gnu-build.sh: Fix URL for GCC repoChristophe Lyon
Switch to git:// instead of https://, which does not work. Change-Id: I1cc57af14e92a72df4b3e028c579913be51080aa
2020-02-18tcwg_gnu-build.sh: Fix check_binutils comparisonChristophe Lyon
Make sure we have a copy of GCC's comparison script. Change-Id: Ib9bf2609710f0368d137dab6e7e131d0c0dcfbeb
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-01-17tcwg_gnu-build.sh: Make top_artifacts is an absolute directoryChristophe Lyon
The first tcwg_gnu-build.sh script uses a full path for top_artifacts (where sumfiles and other results are stored by ABE), but the bisect script calls tcwg_gnu-build.sh again but with rel_artifacts, which means that ABE stores results in a different location from the main run. As a result, check_regression cannot find them. This patch fixes that by converting top_artifacts to an absolute directory if neeed. Change-Id: I6e9fae1104fbc2cbe2bbcbe95c63a28c784f63be
2020-01-17tcwg_bmk-build.sh, tcwg_gnu-build.sh: Fix bisection-worthy scoresMaxim Kuvyrkov
We trigger bisect for regressions that made it to score 0 and above. For tcwg_gnu and tcwg_bmk builds we have an off-by-1 error at the moment. E.g., for benchmarking we bisect problems only when benchmarking step has successfully finish, which ignores benchmarking build failures and miscompilations. Similarly, for tcwg_gnu we ignore bootstrap failures and bisect only testsuite regressions. This patch fixes that. Change-Id: I35412788b243d7dc7098ea0d6fd3b200c1df3e32
2019-10-15tcwg_gnu-build.sh: no_regression_p: Put space before ']'Prathamesh Kulkarni
Change-Id: Ia5d1a9350cd1a5253ab41945505c3f57f9588f4b
2019-10-10round-robin.sh: Add no_build_regression_p helperMaxim Kuvyrkov
... by moving code from tcwg_gnu-build.sh. This helper will also be used in upcoming improvements to tcwg_bmk-build.sh. Change-Id: I298cefc6d65d13461e3de53ef542b4a804042fad
2019-09-19tcwg_gnu-build.sh: Fix shell scripting bugMaxim Kuvyrkov
Change-Id: Idde5f0b07a1dbb7b812396eed650e9ed117d26a8
2019-08-26Separate build and test steps for build_abe.Prathamesh Kulkarni
Change-Id: Ib14ccaee023e96fa91f89e1c9ac028b04f6f489c
2019-08-12tcwg_gnu-build.sh: Improve no_regression_p()Maxim Kuvyrkov
Change-Id: Id52f33731a13dcc9560588cc8eeac6a0ee4711b9
2019-08-12tcwg_gnu-build.sh: Set rr[components] correctlyMaxim Kuvyrkov
Change-Id: If43f446b3199ea3a5741aef913c7eb425d4b475a
2019-07-30Add testsuite comparison to tcwg_gnu.Prathamesh Kulkarni
Change-Id: Ia90cf7cc357ffca1ec4d414db8988efdc6cea03a
2019-07-26round-robin.sh: Stop bisecting non-interesting regressionsMaxim Kuvyrkov
Currently we bisect regressions in all components equally, even when it means running benchmarks to bisect binutils, gcc or llvm internal build failures. This patch changes that by starting bisections only when the build progressed far enough to be interesting. For tcwg_kernel this means to reach kernel build step; for tcwg_bmk this means to reach benchmarking step; and for tcwg_gnu nothing is changing for now. Change-Id: I1c7c15e84fc3fd219108b0af549594be6b381768
2019-06-27round-robin.sh, tcwg_gnu-build.sh: Fix check_binutils typoChristophe Lyon
Change-Id: Ia2194e3a4904a8c0dda50b5bcbfac80729a80cd5
2019-06-10round-robin.sh, tcwg_gnu-build.sh: build and check binutilsChristophe Lyon
This patch uses ABE to build and check binutils. However, ABE ignores 'make check' status, and we want to check regressions compared to previous results anyway. This needs to be implemented later. Change-Id: I33ed3585e85f72d56eeb54ddf276d5bb7b07fc38
2019-04-27tcwg_*-build.sh: Don't require repo urls when we don't need themMaxim Kuvyrkov
We need repo URLs only when not using baseline branches (baseline branches are stored in known repos at git.l.o/toolchain/ci/*). We refactor build_abe() to not rely on repo URLs, ABE only uses last element of URLs path, so we fudge URL for it. Change-Id: I19b6b5da51c8737b7176492e04e734f618d1d606
2019-04-16round-robin.sh: Add ${rr[update_baseline]} "rebase" capabilityMaxim Kuvyrkov
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
2019-04-16round-robin.sh: Refactor reset_baseline into update_baselineMaxim Kuvyrkov
Our handling of baseline result currently depend on 2 variables: ${rr[reset_baseline]} and ${rr[init_configuration]}. This patch merges these two into ${rr[update_baseline]} with update/reset/init values. This patch is a cleanup before adding new value "rebase" for ${rr[update_baseline]} variable. Change-Id: I91e0604ac5a35b30ed458946d1c591fabcb8bc5c
2019-03-19Patch [3/3] Merge tcwg_gnu: Add support for various bootstrap configs.Prathamesh Kulkarni
Change-Id: I21fad361d7b12c9a15617069073daf44ca56894b
2019-03-19Patch [2/3] Merge tcwg_gnu: Create tcwg_gnu-build.sh as copy of ↵Prathamesh Kulkarni
tcwg_kernel-build.sh. Change-Id: I4c47f486d78f6e9a20732e06a387bb0db77c59ed