aboutsummaryrefslogtreecommitdiff
path: root/llvm_tools/update_tryjob_status.py
AgeCommit message (Collapse)Author
2021-04-28llvm_tools: refactor automatic LLVM bisectionJian Cai
This removes update_all_tryjobs_with_auto.py and move a function to its only user module. Also stopped raising errors when a build is not ready for "cros buildresult" to avoid confusion. BUG=chromium:1151055 TEST=local and CQ tests. Change-Id: I1591d17f1fe76cf6fb223c18ab0c96349982f53c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2551918 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-04-17llvm_tools: move common functions into standalone modulesJian Cai
Move common functions into separate modules and update dependencies accordingly. BUG=chromium:1057428 TEST=local tests. Change-Id: I40f1b613f0a41f1fc478c811379c851479aff7c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2151708 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2019-09-09LLVM tools: Migrated all scripts to python3Salud Lemus
This CL includes changes such as replacements of `\'` with `"` and adding extra debugging output to some scripts. Currently, the scripts are in python2, so migrating them to python3 so they are more maintainable. BUG=None TEST=Ran each script by itself with various input (e.g. different google3, tot, etc.). Change-Id: Ib72b7744c6f7c13711c2db427f6524ff3cbc6205 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1787738 Tested-by: Salud Lemus <saludlemus@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2019-09-03LLVM tools: Added auto bisection of LLVMSalud Lemus
Similar to 'llvm_bisection.py' script but uses `cros buildresult` to update each tryjob's 'status' field. The script sleeps for X minutes and continues where bisection left off (similar behavior if script terminates). The script is an infinite loop but terminates when there are no more revisions between the new 'start' and new 'end' or if an exception happens. This script is using the scripts such as bisection script and updating a tryjob's status script in a loop. BUG=None TEST=Ran 'auto_llvm_bisection.py' script with a file that was not created and start revision of 369410 and end revision of 369420. Successfully created tryjobs between the start and end and the script went to sleep for X minutes and woke up to resume where bisection left off. Change-Id: I711988b164c41f56ecc2c9478527bdcfe8f5bb88 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1776330 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Salud Lemus <saludlemus@google.com>
2019-08-28LLVM tools: Added support for 'skip' and executing a custom scriptSalud Lemus
If a tryjob's status is set to 'skip', then that tryjob will not be considered when bisecting LLVM. And for executing a custom script, the exit code will be used by a mapping that sets the 'status' to the equivalent value of the exit code. BUG=None TEST=Ran the 'update_tryjob_status.py' with the 'skip' option and successfully set the tryjob's status to 'skip'. Also, created a testing script to serve as the custom script. Successfully set the 'status' value based off of the custom script's exit code. Change-Id: I0ae3a9b53467b13ff5ce26aeff46b31563cfc7e0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1772472 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Salud Lemus <saludlemus@google.com>
2019-08-23LLVM tools: Added bisection of LLVMSalud Lemus
Bisects LLVM based using a JSON file and the last good version and the last bad version. The number of tryjobs that are launched in the between the two (good, bad) depends on the 'parallel' command line argument. Added support for modifying a tryjob's status. Added support for removing, relaunching, or adding a tryjob. BUG=None TEST=Ran the script with 'start_rev' as 367590 and 'end_rev' as 367622 and a JSON file that did not exist. Successfully created tryjobs. Ran, the script again after a few hours and also successfully created another set of tryjobs that were not in the 'jobs' list. Change-Id: I71a6d74f62c6f6fc212209c1faa73e729912b086 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1761469 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Salud Lemus <saludlemus@google.com>