summaryrefslogtreecommitdiff
path: root/round-robin-bisect.sh
AgeCommit message (Collapse)Author
2021-07-12round-robin-bisect.sh: Fix quotingMaxim Kuvyrkov
Change-Id: Iefb3f45baca6857bc57f84899beb2d299aa8bd0c
2021-07-12round-robin-bisect.sh: Update email preferencesMaxim Kuvyrkov
Change-Id: I015212839bb692b9e543eecf521cb9e57e64c40d
2021-07-12round-robin-bisect.sh: Fix line breaksMaxim Kuvyrkov
Change-Id: I720d4caf862b5a6dd90c89ee5d6995ebc2e29928
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-bisect.sh: Update email preferencesMaxim Kuvyrkov
Change-Id: Ibcad05edb85d853ab70b723fb767ddb4389059ea
2021-06-28round-robin-bisect.sh: Don't send out an empty emailMaxim Kuvyrkov
Change-Id: I0fe99bac52b117e90ac313cc2949159d0dbab600
2021-06-26round-robin-bisect.sh: Temporarily disable emailing patch authorsMaxim Kuvyrkov
... while CI is churning through old commits. Change-Id: I2a349b65f9b89d1e5e13df475d86b0f6e76e5a5e
2021-06-22round-robin-bisect.sh: Fix patch author queryMaxim Kuvyrkov
Change-Id: I3542976daf53f3e00356aba9bb6433c48db4d992
2021-06-21round-robin-bisect.sh: Notify patch authors on regressionsMaxim Kuvyrkov
Change-Id: Idaab0c7bfd1c37e2d855ecfb4735352d4fab0f9d
2021-04-07round-robin-bisect.sh: Handle another edge caseMaxim Kuvyrkov
... in bisection of merge history. We can detect first_bad commit with a good parent that is outside of bisection range. E.g., BAD | \ BASE \ | FIRST BAD | / PARENT In this case PARENT is the last good revision, but falls outside of bisection range. Change-Id: I4b88b6c7a245f390705df70943cccd70964fd7f6
2021-04-01round-robin-bisect.sh: Fix handling of an edge caseMaxim Kuvyrkov
... when first_bad commit is the child of baseline_rev. In this case baseline_rev was not in orig_commits_to_test and we failed on "Broken bisection range" assert. Fix by adding all previously tested revisions to orig_commits_to_test, which is renamed to commits_in_range. Change-Id: Iad37dbdb24bcddf42721dc8526b5b63a64653624
2021-02-01round-robin-bisect.sh: Go through interesting-commit in forward orderMaxim Kuvyrkov
It seems that going backwards extends the bisect effort. Change-Id: Ie77d101573f65ef53b1b5ece970489cf410d73e7
2021-02-01round-robin-bisect.sh: Fix exiting a subshellMaxim Kuvyrkov
In newer bash versions "continue", apparently, doesn't have a side-effect of ending a subshell. Use proper "exit" instead. Change-Id: I7fc458442b6da04ad11c9e7b44d9189cfbe5bc23
2021-02-01round-robin-bisect.sh: Update Jira card for GNU CIMaxim Kuvyrkov
Change-Id: Ib2f6195b2258011953756df1f4f9fedfee3d0f80
2021-02-01round-robin-bisect.sh: Update jira card numbers for reportsMaxim Kuvyrkov
Change-Id: Ib244bd097316e635ae8f977fddbe4ee3881bda2c
2021-01-28round-robin-bisect.sh: Update Jira cards for tcwg_kernel regressionsMaxim Kuvyrkov
Change-Id: Ie02589528334b6a97edda88a3411c0d3fb67df61
2021-01-14round-robin-bisect.sh: Fix variable reference after refactoringMaxim Kuvyrkov
Change-Id: I63eeb730bcf5b3923d51ac0a24dd3a355db4cbad
2021-01-13round-robin-bisect.sh: Use print_tracebackMaxim Kuvyrkov
Change-Id: Ie41b6a666f87311813f246d927b9fd77a344fe95
2021-01-13round-robin-bisect.sh: Remove obsolete markerMaxim Kuvyrkov
We used to rely on $artifacts/first-bad file as a marker in our CI round-robin loops, but have switched to trigger-* files many moons ago. Change-Id: I5039827b2a24543d1088fae5bf11a7e50a78b3b6
2021-01-13round-robin-bisect.sh: Generalize logic of handling "reset" commitMaxim Kuvyrkov
We overloaded meaning of "$first_bad" revision to be also the reset commit, and this change splits off meaning of "reset" commit from "first_bad" commit. Change-Id: I62d9adc5fcd0d7d03f8b4cc33a2699f993aa5e8a
2021-01-05round-robin-bisect.sh: Make handling of unsuccessful bisects more robustMaxim Kuvyrkov
Now we either advance baseline to a more recent commits, which helps with benchmarking tracking, which can have "skipped" commits due to problems with benchmarking infra, or we reset baseline to the last-tested bad commit (which was, in essence, previous behavior). Change-Id: I9eaa473504d33e5af4dfa4500578110bddfb35f9
2021-01-05round-robin-bisect.sh: Make code to trigger follow-up builds more robustMaxim Kuvyrkov
... and with better comments. Change-Id: I9e61b94e382d265daeae6cc8fd4ba5ab9f83bb68
2021-01-05round-robin-bisect.sh: Make logic of handling successful bisects more robustMaxim Kuvyrkov
Now on successful bisects we always have either a confirmed regression or a restarted bisect. Change-Id: Ic8600fa85c7b511063ddf5bbbbff31021a8b9535
2021-01-05round-robin-bisect.sh: Simplify filtering of interesting commitsMaxim Kuvyrkov
Turns out "git bisect view --pretty=%H" does most of this work for us, so no need to check ancestors of good/bad commits. Change-Id: I405c8e29810da11ff65e0605be5b2dd6bb61ca3e
2021-01-04round-robin-bisect.sh: Don't retry on spurious failuresMaxim Kuvyrkov
We used this retry to detect problems in round-robin jobs by investigating long jenkins job queues, which would form on most problems. We will now implement a dedicated job to monitor git.linaro.org/toolchain/ci/*.git repos, which is a better way of detecting problems in round-robin jobs. Change-Id: I0a25d9db11fdad5e99ef016af1f00cd9417fa728
2020-12-19Optimize testing of interesting commitsMaxim Kuvyrkov
It's now taking 1 hour (!) to check all entries in interesting-commits/linux. This time is spent in --is-ancestor checks. With the list of interesting commits growing over time we either need to trim it from time to time, so optimize processing. This patch does 2 optimizations: - the obvious optimization to break from loop on first match - the optimization to quickly check whether commit is inside the bisict range. Change-Id: I712e08970a65e26a517571240e2a513878c907bb
2020-12-12round-robin-bisect.sh: Process interesting commits in reverse orderMaxim Kuvyrkov
Checking more recent bad/good commits first should cut down on bisection time. Change-Id: I97899c569eae5ea6679d152f630b5383089a6282
2020-12-09round-robin-bisect.sh: Fix thinkoMaxim Kuvyrkov
Change-Id: I8a694dd74be2af33d9fc35d8a22fbeb3923257fc
2020-11-26round-robin-bisect.sh: Don't repeatedly report regressions for same configsMaxim Kuvyrkov
... which is happening when linux-next catches a regression, and we daily send out regression reports to developers. Now this will be restricted to 1 report per configuration per regressing commit. Change-Id: If0489a49edc52a551d4460afa75c040497929710
2020-10-27round-robin-bisect.sh: Add support for newlibChristophe Lyon
Update the email recipients list when the updated project is newlib, like we do for glibc. Change-Id: I83b6e3499b6b5fe16cb5a0840e3c80af6456a1d6
2020-09-11round-robin-bisect.sh: Fetch $bad_branch/$bad_rev from $bad_urlMaxim Kuvyrkov
... so far we were lucky that $bad_rev happened to be fetched in the workspace's clone. Change-Id: I3ecf57806607d2da3fc1d8229ccef1eace938ccf
2020-07-08round-robin-bisect.sh: Post jira comments for tcwg_{binutils, cross, gnu}Maxim Kuvyrkov
Change-Id: I9fd245d77848f0d8d1d2117ed117b1f17e2bcdd5
2020-05-31round-robin-bisect.sh: Fix more missing instance of passing $bad_urlMaxim Kuvyrkov
Change-Id: Iffa2dff5d9a937c94e9c69a4102c4739788ddefb
2020-05-31round-robin-bisect.sh: Fix linux-next rebase workaroundMaxim Kuvyrkov
Change-Id: I472bf099af6d2ab6fb9dbb70c939634aaefafd48
2020-05-31round-robin-bisect.sh: Fix references to $linux_urlMaxim Kuvyrkov
... replace them with $bad_url. Change-Id: I73224638e852367ed8c42a178f36e9f7bf6c401e
2020-05-31round-robin-bisect.sh: Fix shellcheck warningsMaxim Kuvyrkov
Change-Id: Id9495fa4785702f155bc845f4db1f8b7691e9a48
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-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-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-23Shellcheck fixes round 2David Spickett
Also update the sanity check script to include .job files. Change-Id: Ibf72d9ff346ff7b012d4e282a6ac8f3b7e73590d
2020-04-20round-robin.sh: Handle Os vs Os LTO result IDsDavid Spickett
Regular benchmark jobs have one result ID per commit. Os vs Os LTO does two runs per commit, so print both. Change-Id: I1abd335b11e59fbd523ca0117015fa5bdcff6a05
2020-04-17round-robin-bisect.sh: Improve outputDavid Spickett
* Show builds in last good/first bad order. To match before/after order you usually want. * Move configuration to after artifacts links. * Show the results ID of each in the notification text to save a step going to Jenkins. (benchmark jobs only) Change-Id: I2a004948a8fdb71a71291c011f963dd138cb7675
2020-04-09round-robin-bisect.sh: Add Jira issue numbersDavid Spickett
for tcwg_bmk-ci to post regressions to. Change-Id: I51bb1fabe5bd227bfbc0a7ffaf11e686ff24e574
2020-03-24round-robin-bisect.sh: Fail curl commands on HTTP errorsDavid Spickett
Previously curl would output an HTML document describing the error. Which you wouldn't notice until you followed the rest of the instructions. Change-Id: I638eb03b319a8dab05a72d9187a64c1b83b2bfd9
2020-03-22round-robin.sh: Merge info from "regressions.txt" to "results"Maxim Kuvyrkov
Change-Id: Iba2ba392d0ed6656548ead3245d4d7906bbdfbc0
2020-03-18round-robin-bisect.sh: Fix handling of replay dataMaxim Kuvyrkov
Change-Id: I337cb412dded49c21092b9299216ab881ac9f3fd
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-11round-robin-bisect.sh: Git git repo path for "git reset"Maxim Kuvyrkov
Change-Id: Ic25fd6ee59d4b983405780670409f1e2d7dacb0e