aboutsummaryrefslogtreecommitdiff
path: root/llvm_tools
AgeCommit message (Collapse)Author
2020-10-02llvm_tools: abandon CLs after completing LLVM bisection.Jian Cai
Abandon CLs created for bisection if LLVM bisection successfully found the root cause. BUG=chromium:1081457 TEST=Verified locally. Change-Id: I3702c38432fbaf87f7df62418c0b29cbe4ca722a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2382420 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-10-02llvm_tools: refactor LLVM bisection toolJian Cai
BUG=chromium:1081457 TEST=Verified locally. Change-Id: Ic662a7bb697efb920a83255d3da87a0031e694ed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2371502 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-09-21llvm_tools: add a script to fetch uploaded versions of LLVMGeorge Burgess IV
Along with sdk tarballs, the SDK builder publishes manifest files containing the versions of packages contained by a particular tarball. This script is intended to extract these versions, so we can more confidently answer the question "when did this LLVM change _actually_ take effect?" Example usage: ``` [ub] /m/s/g/c/s/t/t/llvm_tools [ 10ms ] ~> ./fetch_cros_sdk_rolls.py cros-sdk-2020.08.28.002952.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.01.145913.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.02.121932.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.03.075651.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.04.035039.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.05.000203.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.05.193017.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.06.145537.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.07.100426.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.08.234732.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.09.204657.tar.xz.Manifest: 11.0_pre394483_p20200618-r11 cros-sdk-2020.09.11.112254.tar.xz.Manifest: 11.0_pre399094_p20200824-r1 cros-sdk-2020.09.14.044644.tar.xz.Manifest: 11.0_pre399094_p20200824-r2 cros-sdk-2020.09.15.034200.tar.xz.Manifest: 11.0_pre399094_p20200824-r2 cros-sdk-2020.09.15.235650.tar.xz.Manifest: 11.0_pre399094_p20200824-r2 cros-sdk-2020.09.16.195018.tar.xz.Manifest: 11.0_pre399094_p20200824-r3 cros-sdk-2020.09.17.182131.tar.xz.Manifest: 11.0_pre399094_p20200824-r3 cros-sdk-2020.09.18.133717.tar.xz.Manifest: 11.0_pre399094_p20200824-r3 cros-sdk-2020.09.19.085133.tar.xz.Manifest: 11.0_pre399094_p20200824-r3 cros-sdk-2020.09.20.033151.tar.xz.Manifest: 11.0_pre399094_p20200824-r3 ``` This is literally a trivial wrapper around 2 gsutil commands and very lite JSON wrangling, so I didn't include a test. Happy to add one if people feel strongly that it's necessary. BUG=None TEST=Ran the script Change-Id: If22a5faf89e601709a3304473bab2dba71ccd64c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2422663 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-09-17toolchain-utils: Update README.md for llvm_tools.Caroline Tice
This corrects an error, a typo, and an omission I discovered in the README.md instructions. BUG=None TEST=None Change-Id: I19c46d87bf326c9ab320dc7bb23b4a8dae5573fe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2416246 Auto-Submit: Caroline Tice <cmtice@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Caroline Tice <cmtice@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org>
2020-09-15llvm_tools: save intermediate state even if a step failsGeorge Burgess IV
When uploading multiple crashes, a network error may happen (or anything else, really). This isn't going to save us from SIGKILLs or power-offs (it's impossible to save us 100% from either of those, since there's always going to be a race between writing the JSON file and submitting the test-case), but it should keep us from submitting duplicate crash reports in most cases. This also has us sort results from `gsutil ls`, since that may not always print things in a deterministic order. BUG=None TEST=Ran the script; ^C'ed it in the middle. Change-Id: I9695d83db6fb8161dc6fce16b13980c8eacf219d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2412482 Reviewed-by: Jian Cai <jiancai@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-09-15llvm_tools: tweak script verbosityGeorge Burgess IV
At the moment, this script is silent except for when gsutil sneakily prints file copying status to stdout/stderr. Since we're already configuring `logging` here, be a bit more descriptive about our current status. BUG=None TEST=Ran the script. Change-Id: Ibcdb0f6cd488e70b9f810a9ca615556a7d672948 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2412481 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-08-03llvm_tools: add a tool to bisect clang crashesJian Cai
Add a tool that downloads clang crash diagnoses from chrome-toolchain-artifacts/clang-crash-dignoses and send them to 4c server for bisection. BUG=chromium:1056904 TEST=local tests Change-Id: I75081259705c236a20173fc591d080c6b0504cc5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2325008 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-07-29llvm_tools: clarify that syncing all of llvm is only done onceGeorge Burgess IV
There was some confusion about the intended frequency of LLVM syncs. Adding a bit to the "syncing" message should hopefully clear that up. BUG=None TEST=None Change-Id: I2454267602d9eaab79073882b172d61b3cb98daa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321565 Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org>
2020-07-28llvm_tools: check for uncommited changes before cherry-picksJian Cai
Exit when uncommited changes in chromiumos-overlay repo is detected. BUG=chromium:1057428 TEST=local tests. Change-Id: I6dacfb67028036b415672c8fba622b49c4ae8b76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321560 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org>
2020-07-27llvm_tools: remove future importGeorge Burgess IV
Now that we're guaranteed to be on py3, this isn't needed. Mostly doing this to test a crbug feature. Fixed: 1109998 BUG=chromium:1109998 TEST=None Change-Id: I1f5d0c9c7c1297e9281be07ced4127e42546b3c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321109 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org>
2020-06-24llvm_tools: fix up namingGeorge Burgess IV
This replaces `master` with `main` where possible, per the linked bug. Since upstream LLVM has a `master` branch, and there appears to be general support in FOSS for swapping to a different naming convention (`main`), this also makes LLVM's upstream branch name into a constant that we can easily flip if needed. BUG=chromium:1099035 TEST=Unittests Change-Id: I0844cfb4fec00f761e39b0443299daa918fa37ab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2265047 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-05-21llvm_tool: update README of cherrypick_cl.pyJian Cai
Update its README now that we made changes to the script. BUG=chromium:1057428 TEST=none. Change-Id: I62e198892bc9fff2a0f930705f9451d46b50b31d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2212423 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-05-21llvm_tool: add an option to create CLs for cherry-picks.Jian Cai
Add an option to create a CL for cherry-picking patches of LLVM projects. BUG=chromium:1057428 TEST=local tests. Change-Id: I769c9de7112e521af0bf1d701aa4ac2959994658 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2163957 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-05-06llvm_tools: Remove unused verbose argsManoj Gupta
RunTryJobs does not take a verbose arg anymore. Fix modify_a_tryjob.py to not pass it. BUG=None TEST=llvm_bisection works Change-Id: Ief59aa5f8df2ed9364e506df2b066a02167ee6bd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2185710 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2020-05-04llvm_tools: add logging to the revert checkerGeorge Burgess IV
Somehow this revert checker is dropping reverts on the floor, which is confusing to me. Log the 'last run' state so it's easier to understand what this checker was thinking. BUG=None TEST=Ran the script Change-Id: I586bbbd35f7d414faebda9068c04f552152891de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2180842 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-05-02llvm_tool: cherry-pick multiple patches at onceJian Cai
This change will allow cherrypick_cl.py to take in multiple SHAs at once and create local patches accordingly. All these SHAs will be applied to the same starting SHA. The package a patch applies to will be inferred automatically, so users no longer have to specify the package name. If a patch changes files in more than one package, it will be split into smaller patches by package and applied accordingly. The patch information will be added to PATCHES.json of each affected package. BUG=chromium:1057428 TEST=local tests. Change-Id: I8c4d93716b7682b42c8202e8b939ca2175775fdf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2175675 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-05-01llvm_tools: add commit subjects to revert emailsGeorge Burgess IV
I got a piece of feedback that adding subjects inline would likely make revert emails easier to read 'at a glance'. This CL adds those. New email revert lines will look like: - r385979 (appears to revert r383879): Revert "[NFC][ARM] Update test" BUG=None TEST=unittests; looked at a --dry_run email Change-Id: I5fb5ea12fa1d4a6b2601fbd5c244935662dc4270 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2174823 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-05-01llvm_tools: add Android support to the revert checkerGeorge Burgess IV
BUG=None TEST=Ran; received an email Change-Id: I3db8d2e4a81fbb4e16ab1b212113c675bd0811b7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2173675 Reviewed-by: Pirama Arumuga Nainar <pirama@google.com> Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-05-01llvm_tools: refactor to support multiple SHA sourcesGeorge Burgess IV
This refactors code a bit and tweaks our CLI so we can more easily support various sources of 'interesting' SHAs. The intent going forward is to have one program invocation per SHA source (e.g., one Android, one CrOS, etc). BUG=None TEST=Ran the script Change-Id: Ic3c682985ca688aa0e0ac38902d88f8b6dd2a223 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2173674 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-28llvm_tools: don't check the same SHA for reverts twiceGeorge Burgess IV
It occurred to me that there are times where llvm-next == llvm-stable. If that's the case, we shouldn't generate two emails with (nearly) identical contents. BUG=chromium:1046988 TEST=unittests Change-Id: Ib19db46daf95e73c64cc958d57c4220fc957bb51 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2171297 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-28llvm_tools: mail the mage from the revert checkerGeorge Burgess IV
I accidentally removed this in an earlier CL. BUG=chromium:1046988 TEST=unittests Change-Id: Iebf0c282383d1e99ddeb0cafa7ffa93f1dc27abc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2171296 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>
2020-04-28llvm_tools: use tiny_render in the nightly revert checkerGeorge Burgess IV
Now that we have `tiny_render` imported into `cros_utils`, we can use it. This lets us easily linkify and stylize our emails, and makes comments like tcwang's in Ibc3ef1d2e3b5a3301366e971cacf53396a6ca2aa much easier to address. BUG=chromium:1046988 TEST=unittests; sent an email Change-Id: I538efd2e349a48bd433c826359eb0dd94b422966 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2169010 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-28llvm_tools: add a nightly revert checkerGeorge Burgess IV
This CL adds a script that uses our new revert checker bits to send nightly emails about newly-discovered reverts in LLVM. It should be directly usable from a crontab. BUG=chromium:1046988 TEST=unittests; a few dry-run emails Change-Id: I361d3e214c5d563e71cc4120b76b78e5b3e63f40 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2165514 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-28llvm_tools: add a revert checkerGeorge Burgess IV
This CL adds a revert checker script. The intent is to build on it for later automation, but it's also usable on its own. Please see the new docs for details on usage. BUG=chromium:1046988 TEST=unittests Change-Id: Ibc3ef1d2e3b5a3301366e971cacf53396a6ca2aa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2165513 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-28llvm_tools: make an llvm_project module for testsGeorge Burgess IV
I'd like to reuse these functions in an upcoming revert checker. This refactors them into their own module, so we don't have tests relying on tests. BUG=chromium:1046988 TEST=unittests Change-Id: I8766f03b3ee8b0cf5b0c128df0d0531aee5c0339 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2165512 Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-04-23llvm_tools: Add --cq_trybot option to specify cq trybots using cqTiancong Wang
The users now can specify one of {llvm,llvm-next,llvm-tot} when using cq to run the tests with this patch. Invalid cq trybots will be denied. BUG=chromium:1072063 TEST=Unittest pass TEST=crrev.com/c/2163157 Change-Id: Ib1f57267a2e37ebe0e71042e8b24cb2281380f3c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2163257 Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-21llvm_tot: add an option for recipe builders.Jian Cai
Add an option to launch LLVM TOT builders with recipe builders to update_packages_and_run_tests.py. The builders launched will not run hwtests for now. BUG=chromium:1072063 TEST=local tests. Change-Id: I1c34090f2d2ea6d9b7efab0a0dccf795396c96d1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2157624 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-17llvm_tools: cherry pick CLs in addition to LLVMJian Cai
Add support to cherrypick_cl module to cherry pick CLs for other packages in addition to LLVM. BUG=chromium:1057428 TEST=local tests. Change-Id: I8dfbb3d57032525dd19d0461f0943c370f987e17 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2154004 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
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>
2020-04-14llvm_tools: merge update_packages_*.py filesJian Cai
Merge update_packages_and_run_tryjobs.py and update_packages_and_test_cq.py as the two modules share much command code. BUG=chromium:1001602 TEST=local tests. Change-Id: Iac957ea77af4257e454fec99ff13424e778ec51a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2148478 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-04-13llvm_tools: check more arguments when launching LLVM TOT tryjobsJian Cai
update_packages_and_run_tryjobs.py currently only check LLVM SVN revision to decide if we should launch tryjobs. This change includes more factors to consider, including builders, extra CLs, tryjob options, and ebuild versions of the packages. BUG=chromium:1001602 TEST=local tests. Change-Id: Id0ba762558f8df3386936f0c797a61c437b97c9f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2143383 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-04-13llvm_tools: Add default value for dependent CLsManoj Gupta
Use [] as a default value to avoid non-iterable type errors. BUG=chromium:1067029 TEST=unit tests Change-Id: Ibc4c76c2dcda8e3846d323345aeea49ac2e9acaf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2148005 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2020-04-13llvm_tools: Stop marking CL as WIPManoj Gupta
WIP CLs are not handled by gwsq to find oncall reviewer. We already pass "--ne" so the emails are not sent out for anyone monitoring this repo which is probably enough. BUG=chromium:1067029 TEST=unit tests, gswq assigned reviewer in CL:2146298 Change-Id: I962d6201482a5ba9bc3a0db2ba6db4fc4f0841de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2148000 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-10llvm_tools: fix the naming of ebuilds for LLVM rollsJian Cai
Use LLVM SVN version in the name ebuilds in LLVM roll CLs. BUG=chromium:1041590 TEST=local tests. Change-Id: I61d45b166968d4081f11dd9838b6774d2502250b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2145671 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-04-09llvm_tools: test_cq: Fix when no reviewers are specifiedManoj Gupta
If no reviewers are specified, the tool errors out because 'None' is not iterable. Also update unit test to use mock.call to verify function arguments. BUG=chromium:1067029 TEST=unit tests Change-Id: I542f897ec876211f7fa898550364fa2878691aad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2142923 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-09llvm_tools: Fix bug in creating symlinkManoj Gupta
Pass "-r" to ln to keep the symlink relative rather than absolute. BUG=chromium:1041590 TEST=unit tests. Change-Id: I925df430abd0d25a94e17a06186ee9f503efa264 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2142920 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2020-04-08llvm_tools: uprev ebuilds for LLVM roll CLsJian Cai
Currently update_chromeos_llvm_hash.py uprevs ebuild files by increasing the -r*.ebuild by 1. This patch renames the ebuild files with the new SVN reversion and date for LLVM roll CLs. BUG=chromium:1041590 TEST=local tests. Change-Id: I209191f7d34594010914afb54d4c346e3f13c6fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2139094 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-04-02llvm_tools: test_cq: Add more featuresManoj Gupta
Add more features: 1. Choose between llvn and llvm-next 2. Specify list of reviewers for the update CL. BUG=chromium:1067029 TEST=unit tests Change-Id: I512c5b5fe944dc49954f9ab82faaf86c8eab983f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2134284 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-02llvm_tools: Add tool for CQ dry run for update CLManoj Gupta
Add tool to update packages and start a CQ dry run on the CL and its dependencies. BUG=chromium:1067029 TEST=unit tests Change-Id: I593b7ee40985d9146f9d16f3e3e7d64bdeb8727a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2133242 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-02llvm_tools: Add feature to specify a terminating commit messageManoj Gupta
Allow sepcifying a terminating commit message. This will be useful to specify CL dependency information e.g. "Cq-Depend: chromium:NNN". BUG=chromium:1067029 TEST=unit tests Change-Id: I2dfa751b28f64df50169cd424d39a3f3f4f1de6a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2133241 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-04-01llvm_tools: Switch to "git -F"Manoj Gupta
Use git commit -F to get a better formatted commit message for the created CLs. BUG=chromium:1067029 TEST=unit tests Change-Id: I72918274d7b565013697201ee2872b8ad33e2648 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2133227 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-03-26llvm_tools: rename update_chromeos_llvm_next_hash.pyJian Cai
Now that update_chromeos_llvm_next_hash.py can be used to create LLVM roll CLs too, rename it to update_chromeos_llvm_hash.py to avoid confusion. BUG=chromium:1041590 TEST=local tests Change-Id: I18df7c2fe1f73566d053e963e606d28562637c6b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2119808 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-03-25llvm_tools: parameterize update_chromeos_llvm_next_hash.pyJian Cai
Currently update_chromeos_llvm_next_hash.py can only be used to create CLs that update LLVM_NEXT_HASH in toolchain-related ebuild files, as it hardcoded which git hash to update. This change allows users to choose betwen LLVM_HASH and LLVM_NEXT_HASH, and therefore can be used to create LLVM roll CLs automatically. BUG=chromium:1057428 TEST=local tests Change-Id: Ifc0cadb7b618d4780aceb92dcc8891941c612ecb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2112250 Reviewed-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-03-20llvm_tools: add git_llvm_rev notes.George Burgess IV
BUG=None TEST=None Change-Id: I64dd7b2e8a5e5210d3a53bb1de5c510072715aa4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2113170 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-03-10llvm_tools: add a simple cherrypick scriptGeorge Burgess IV
Given a SHA, this script will cherrypick the CL from LLVM, add it to the appropriate filesdir, and update PATCHES.json with an appropriate comment. No testing is included, since the code is pretty straightline, and it's expected to be used interactively. In other words, if it breaks, *shrug*. BUG=chromium:1057428 TEST=Ran on a few test-cases. Change-Id: I8cb361bb29ec239316847a781a1edfd7941c7551 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2095772 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-02-28llvm_tools: Uploaded CL as WIP and do not send emails.Manoj Gupta
Mark CL as wip and do not send emails to avoid unnecessary email churns for people monitoring the changes. BUG=None TEST=CL uploaded as wip and with no emails sent. Change-Id: I8577fb8a149b5511bc27df2a7e79901b1c778721 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2080652 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2020-02-13toolchain-utils: migrate all in-use projects to python 3Zhizhou Yang
This patch migrates all in-use projects left to python 3. BUG=chromium:1011676 TEST=Passed unittests and launched scripts manually. Change-Id: I7f2de4e1131c05bacfac80667f3064da8adaebfd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2051397 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Zhizhou Yang <zhizhouy@google.com> Auto-Submit: Zhizhou Yang <zhizhouy@google.com>
2020-02-05Add --use_src_head.Chih-Hung Hsieh
This flag is used in non-bisecting mode by Android llvm builder, to use the HEAD of src_path directory as is, without calling git_llvm_rev or get_llvm_hash. BUG=None TEST=None Change-Id: I99f75936d85b969009df3648d4759ff98e63bd4c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2037149 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Chih-Hung Hsieh <chh@google.com> Commit-Queue: Chih-Hung Hsieh <chh@google.com> Auto-Submit: Chih-Hung Hsieh <chh@google.com>
2020-01-27llvm_tools: remove unused importGeorge Burgess IV
`requests` is an artifact of an old way of doing things, and breaks things on Android bots. Best to just remove it. This also fixes other misc lints in that file BUG=b:147699825 TEST=unittests Change-Id: I3f465f9a129679b104e328ab8307298af1df651b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2023775 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Pirama Arumuga Nainar <pirama@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-01-17patch_manager_unittest: rename variables to be more meaningfulJian Cai
BUG=chromium:1042953 TEST=verified locally. Change-Id: I1a452c2756491e69121a161a32ab007c4e79629d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2006728 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jian Cai <jiancai@google.com>