aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-28llvm_tools: Allow version_range for start/endJordan R Abrahams
At present, the start_version and end_version information are split as far apart as possible due to alphabetical sorting. This leads to bugs when developers want to modify those bug ranges by hand. This CL is the first step to grouping these version ranges together under the `version_range` property. BUG=b:221489531 TEST=python3 patch_manager_unittest.py TEST=cd patch_sync; cargo test TEST=edit PATCHES.json w/ version_range; patch_sync show <...> Change-Id: I9d0fead07c61c0bd0edb745ed623990f0686b8b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3490757 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-02-26afdo_metadata: Publish the new kernel profilesManoj Gupta
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I98bc1f19694d32c02d1c6cf6e046f6f27f720ba3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3492484 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2022-02-25command_executer: extend timeout for first-time SDK entryGeorge Burgess IV
As noted in the comment, this can sometimes be an operation that takes quite a while. This is WAI. BUG=b:221302420 TEST=Unittests Change-Id: I21a18713d050b21c593caf2fde69b91e2ffd7c8e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3489849 Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2022-02-25command_executer: reformatGeorge Burgess IV
`yapf` makes a lot of changes here. Split that out into another (nop) CL. BUG=b:221302420 TEST=Unittests Change-Id: Ieb1f839d6619d7d162ae6a37bff0be77bc0b91a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3489848 Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2022-02-14afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I388e4710f2c4a9d5d6c9a9a6bf191c3ce3b0c0f1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3457222 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2022-02-10patch_sync: Toggle CQ for CrOS, AndroidJordan R Abrahams
Currently, patch sync will always run CQ for CrOS, but never for Android. This was because the chrotomation bot didn't have the proper permissions to run the needed Presubmit-Ready checks. Now the bot does in fact have permission to enable the Presubmit check on Android, but some users may not have this permission when running locally. This commit introduces the ability to toggle running the presubmit/CQ checks early through the --disable-cq flags (by default it's assumed that running these checks is desirable). BUG=None TEST=patch_sync transpose --disable-cq <...> TEST=patch_sync transpose <...> Change-Id: I6185b98aa4394ba22f8433541885a450855cfbb4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3451037 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-02-04patch_sync: Sort android patchesJordan R Abrahams
Android requests that patches are sorted. They use their own __lt__ implementation in cherrypick_cl.py, which we should leverage to keep the sorting stable and robust to implementation details. BUG=b:217767120 TEST=patch_sync transpose <...> Change-Id: I3013b66c4552fd47052e15009df252cdcdc245ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3440375 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Pirama Arumuga Nainar <pirama@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-02-02afdo_metadata: Publish the new kernel profilesLuis Lozano
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I42377d5f11a392fc13dcb76622eab67d25495421 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3430587 Tested-by: Luis Lozano <llozano@chromium.org> Auto-Submit: Luis Lozano <llozano@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2022-02-02nightly_revert_checker: fix breakageGeorge Burgess IV
We were missing `platforms` here, leading to crashes. Seems best to default to all platforms getting each revert. BUG=b:216107005 TEST=Ran the revert checker; no more crashes. Change-Id: I44658bb01e1c45977ed70c77572cac8a1fd61586 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3429680 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2022-01-31compiler_wrapper: disable ccache during src_configureGeorge Burgess IV
This seems to speed things up in cmake by 10% or so, which is consistent with expectations (using `ccache` adds 15-30ms in experimental testing; cmake checks are often faster than that). BUG=b:215747936 TEST=CQ Change-Id: I1a12e50277b37af7bb0b6a58fea2de10006983c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3411542 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2022-01-29afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I9227de3d695a364ec8dfc85cf79c823af3dee9c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3425677 Reviewed-by: Bob Haarman <inglorion@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2022-01-25patch_sync: Conduct unconditional cleanupJordan R Abrahams
After any sort of modification, we have to conduct a full cleanup of the workspace. While it's still possible to have a panic cause no cleanup, this is an improvement over the previous work, where cleanup could fail during the transpose stage. Also add a --wip mode to prevent spamming people with emails during testing. BUG=b:209493133 TEST=Running patch_sync transpose locally Change-Id: I01e8a5897ec8eeed8f90c528c567b2ba55613b23 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3407914 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-22patch_sync: Fix for Rust 1.55 compat, cli patchJordan R Abrahams
On chrotomation, we still use Rust 1.55. Rust 1.55 does not have the "from" implementation for arrays, so we must build the BTrees by hand. Additionally, this removes the requirement for having the review strings be set. BUG=b:209493133 TEST=cargo check Change-Id: I6bc16e96cd56775c8c80667395f3dc3fb4857356 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3403387 Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-19afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Id770cd48f9c286a26d18fd24654eeea076fd886b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3399468 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2022-01-18rust_watch: use better titles for bugsGeorge Burgess IV
These titles are more consistent with bugs filed for Rust upgrades in the past. BUG=b:215209865 TEST=Unittests Change-Id: I1673bda6a033f70a276f6cfe8af17709db985feb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3399867 Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Michael Benfield <mbenfield@google.com> Commit-Queue: George Burgess <gbiv@chromium.org>
2022-01-18afdo_metadata: Publish the new kernel profilesManoj Gupta
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Ic1f1bd9979a247f9c20487365595db99f5fd9747 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3392443 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2022-01-14patch_sync: Rework show cmd to display mergedJordan R Abrahams
At present, patch_sync show merges two PATCHES.json files by merging their platform contents. However, because of timing, review latency, or just patches being denied, it's possible that one repo recommends a patch being applied to a certain platform, and the other denies that same patch. To resolve this conflict, this commit by default only considers patches that exist in the PATCHES.json file at the present time. The original behaviour can be enabled by turning on --keep-unmerged. BUG=b:209493133 TEST=patch_sync show <...cros> <...android> TEST=patch_sync transpose --dry-run -s <...> Change-Id: I3bdf6c36b4dbfe26d4221191b5c22363a7f0dfe0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3388390 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-14patch_sync: Filter patches betterJordan R Abrahams
This commit introduces better patch filtering. Specifically, * it prevents patches from being reintroduced to repos which already have those patches in their own PATCHES.json. * it only applies android patches which are within the desired version range. BUG=b:209493133 TEST=patch_sync transpose --no-commit -s <...> Change-Id: I667a095395a36edf290e5e652ae40efaa2df7d57 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3382194 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-14patch_sync: Bugfix for ebuild findingJordan R Abrahams
Previously, the find_ebuild function could return the original ebuild instead of the llvm symlink. This would lead to incorrect uprevs, depending on how the file system returned the order of the files. Adds a test case to prevent this from happening in the future. BUG=b:209493133 TEST=cargo test Change-Id: Ia47ecee2a9c5b6ce0559e316c5227f70dcf87833 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379482 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-14patch_sync: Refactor shared main codeJordan R Abrahams
This commit attempts to remove duplicated code between Android and CrOS, as the complexity between this duplicated code exceeded the scope of the main file. Also adds display_patches code. This is to pretty print what patches are getting applied and to where. Only enabled if --verbose is on. Also does some minor function cleanup in version_control.rs. BUG=b:209493133 TEST=cargo test TEST=patch_sync transpose --dry-run --verbose <...> Change-Id: I63410160ff5159f4c079ac1cc189674fe3fc02a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379481 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-14patch_sync: Fix PatchDictSchema fieldsJordan R Abrahams
These were out of alphabetical order, and serde_json would write them in the incorrect order to the PATCHES.json file. Additionally, the `platforms` field may end up being null after some discussion with the Android team. This converts platforms to an Optional accordingly. BUG=b:209493133 TEST=patch_sync transpose <...> Change-Id: I7c0b2e984d713698a0ed53e7f36b38bef1a49d1c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379480 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-13patch_sync: Commit featuresJordan R Abrahams
This adds several important version control features: * Changes branches on set up. * Cleans up any changes made, even if upload fails. * Sends commits for review (enabled via CLI). * Enables CQ for CrOS. BUG=b:209493133 TEST=cargo test Change-Id: I8ab2650aae301c08fd80358162a285e46d44e3e1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379479 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-13patch_sync: Add better command debuggingJordan R Abrahams
This commit allows the git commands to print out what the command was that they failed at. This is pretty helpful in debugging what went wrong. We don't capture the repo output ever, so that can remained piped to the terminal. But we need to do some trickery for the git cmd. BUG=b:209493133 TEST=None Change-Id: I389257fef1e3bf394fb4013588df6c78e83b733a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3379478 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Michael Benfield <mbenfield@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-08patch_sync: Filter patches by platformJordan R Abrahams
Because some patch collections may contain patches which don't apply to our given platform, we don't want to attempt to lookup their hashes. If we do, we may encounter a file-not-found error, as those patches haven't been ported to this platform. Also fixes a bug where no_commit was inverted. BUG=b:209493133 TEST=N/A Change-Id: I8b86133dfc6361919174f9f9b392d756b4304d2b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3364792 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2022-01-05compiler_wrapper: Use ld.bfd to detect binutils pathManoj Gupta
Use ld.bfd instead of ld to detect binutils path. This is to assist in finding packages that use GCC/Binutils ignoring portage enviroment. BUG=b:193847062 TEST=go test Change-Id: I0fd8c5c13ad2227f03ec3193c58c9bdfca4e4dc6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3365636 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2022-01-04patch_sync: Add show subcommandJordan R Abrahams
This allows users to view the combined PATCHES.json, also known as the source of truth. Also makes some changes so that serializing the patches vec to a string is more natural. BUG=b:209493133 TEST=cargo test TEST=patch_sync show -s <cros_checkout> <android_checkout> Change-Id: Ic2054c0c3c7e0bb03b698339b75e9ccc6dd68c74 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3355361 Reviewed-by: Michael Benfield <mbenfield@google.com> Tested-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: Jordan Abrahams <ajordanr@google.com>
2022-01-04patch_sync: Add patch_parsing moduleJordan R Abrahams
At present, the patch_sync code does nothing as the base version only sets up the code for future reviews. This adds in the ability to parse the PATCHES.json files, check the differences across past versions, and transpose those patches to another repo. This parsing assumes the PATCHES.json now use the uniform schema, which the AOSP currently does, but CrOS may not by the time this commit lands. BUG=b:209493133 TEST=cargo build TEST=cargo test Change-Id: I8de01eae3d9555dbb000378516a5bf38e29fea8e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3339405 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: Jordan Abrahams <ajordanr@google.com>
2022-01-04patch_sync: Base code, version control managingJordan R Abrahams
This is the base code addition for the patch_sync project. This project attempts to synchronize LLVM patches and ChromeOS. This code is not meant to run, but simply be the starting point so that we break up the large code dump. This code is meant to compile, but is not meant to be run. It only adds the version control code which manages `repo` interactions. Additionally, this adds the full Cargo.toml (at least for the current patch stack). BUG=b:209493133 TEST=cargo build Change-Id: I903edba6e633ec53a7fa4d2e7b0c2aac1094933a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3339404 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: Jordan Abrahams <ajordanr@google.com>
2022-01-04pgo_tools: make monitor_pgo_profiles fail rather than emailingGeorge Burgess IV
Prior to these changes, this script sends emails directly. These are... not as nice to work with as bugs. Since we run this through our new bug-filing cron bits, just make this script output to stdout/stderr & provide a meaningful exit code. Having bugs to track when these profiles are out-of-date is nicer than tracking N emails. BUG=None TEST=Unittests Change-Id: Id5f7838340df78006bddb36c3bc128016eb2acb5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3358469 Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-12-31afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I89ef7b462b627edbe5a0b73b58c58d1689f8c306 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3361355 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-12-29crosperf: remove dead bob DUTJordan R Abrahams
The chromeos6-row3-rack13-host15.cros DUT has been removed and is pending replacement. This commit removes it from the default_remotes. This commit may be reverted when the DUT is replaced. BUG=b:210575915 TEST=None Change-Id: Ifc71364b40c92f6a3fd136d2191a79308aa98099 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3359639 Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Jordan Abrahams <ajordanr@google.com> Tested-by: Jordan Abrahams <ajordanr@google.com>
2021-12-28afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I6ec43a9b06720771f3c05ae03021a2b05aac2387 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3350701 Tested-by: Denis Nikitin <denik@chromium.org> Auto-Submit: Denis Nikitin <denik@chromium.org> Reviewed-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-12-22llvm_tools: Update get_upstream_patch schemaJordan R Abrahams
The get_upstream_patch.py program is using the old schema for PATCHES.json, and appending with that old schema to the new format. This commit fixes this issue. Additionally, this ensures that the keys are sorted on write to prevent line-diffs from getting out of sync. BUG=b:209493133 TEST=get_upstream_patch $args --platform chromiumos --platform android Change-Id: I0f96843b0134daa27574a94f583efdd27f394a3f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3352574 Reviewed-by: Christopher Di Bella <cjdb@google.com> Commit-Queue: Jordan Abrahams <ajordanr@google.com> Tested-by: Jordan Abrahams <ajordanr@google.com>
2021-12-21llvm_tools: Catch dup SHAs in get_upstream_patchJordan R Abrahams
If a duplicate SHA is listed in get_upstream_patch.py, we need to report this as an error and not do anything. This commit adds this functionality, as well as some structures to make adding this feature easier. BUG=b:187795686 TEST=get_upstream_patch.py $args --sha $SHA --sha $SHA Change-Id: I56f1159d5bdd34c52efc00e991b7f1333b7ba3f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3351166 Commit-Queue: Christopher Di Bella <cjdb@google.com> Reviewed-by: Christopher Di Bella <cjdb@google.com> Commit-Queue: Jordan Abrahams <ajordanr@google.com> Tested-by: Jordan Abrahams <ajordanr@google.com>
2021-12-14compiler_wrapper: Drop "-fno-experimental-pass-manager"Manoj Gupta
new pass manager is already default in upstream llvm and fixes have been made to broken features. So stop using the old pass manager with sanitizers. BUG=b:210661138 TEST=CQ Change-Id: Ia73f6c89a095a5cac4d8d175afd6ff18edd200a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3319340 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Christopher Di Bella <cjdb@google.com> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2021-12-13rust_watch: report bugs for new minor or major versions of rustcGeorge Burgess IV
Now that we have new bug reporting bits, using them seems cool. File bugs for uprevving to each new (non-patch) version, so we no longer have to. BUG=None TEST=Unittests Change-Id: I2b458cfd92bcdfda2f4bd8fbac319c1d05c44b47 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3324374 Reviewed-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-12-07cros_utils: Add a bug reporting moduleGeorge Burgess IV
This lets us conveniently report bugs/cronjob status/etc. BUG=b:202424935, b:202425245 TEST=Unit tests Change-Id: Ic276f6ecc69a4c8c0088143177b17836cee70f97 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3319353 Reviewed-by: Jordan Abrahams <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-12-07compiler_wrapper: adds ${sysroot}/usr/lib to linker pathChristopher Di Bella
This change has been in chromiumos-overlay for a while now, but it apparently wasn't ever committed to toolchain-utils. BUG=b:209649372 TEST=This has been in prod for ages. Change-Id: Ied0b519f2f30ef275e921f41e6dbdee9c9442d03 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3321723 Tested-by: Christopher Di Bella <cjdb@google.com> Auto-Submit: Christopher Di Bella <cjdb@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2021-12-06compiler_wrapper: add missing unused-but-set-varRyan Beltran
This CL adds a Wno-unused-but-set-var flag that was accidentally missing in a clangPostFlags field. THis is already present in the llvm repo, must have been fixed in there without mirroring it. BUG=b:195433889 TEST=None Change-Id: I23fcc91aee7b316cd70652f0119177d5ebdf7bbd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3319338 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2021-12-02afdo_metadata: Publish the new kernel profilesManoj Gupta
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Ib50ce95a43740d633f4db9601f09d76126bf9abc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3313556 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org>
2021-11-15llvm_tools: Make skip_dependencies optionalRyan Beltran
This CL makes new skip_denedencies arg in get_upstream patch default to False so that the new behavior introduced in CL:3255665 is disabled by default. This is intended to fix a failure in the nightly revert checker that was preventing cherry_picks. BUG=b:206461485 TEST=Local test of get_upstream_patch.py, and nightly_revert_checker_test.py Change-Id: Ia7586b69f9aefb5ca820a60eed593d45a4b9a5bb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3282951 Reviewed-by: Christopher Di Bella <cjdb@google.com> Commit-Queue: Christopher Di Bella <cjdb@google.com> Tested-by: Christopher Di Bella <cjdb@google.com> Auto-Submit: Ryan Beltran <ryanbeltran@chromium.org>
2021-11-05crosperf: Increase timeout for a crosfleet callDenis Nikitin
Current timeout 2 min may not be sufficiant for `crosfleet dut lease`. Many tests fail with the lock error while lease succeeds. Increase the timeout to 8 minutes. Remove backslashes and fix other minor lints to make upload happy. BUG=b:205325997 TEST=run crosperf locally on veyron Change-Id: Ie3b74a0036cce3daeb58379fc5362797b0e5db03 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3265564 Tested-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-11-04llvm_tools: adds a way to skip dependencies when pulling from PhabChristopher Di Bella
Phabricator has a way to list dependencies, which Arcanist will pull in succession to make sure the patch is correct. This is fine until some of the patches land in main: Arcanist then gets confused and doesn't always correctly apply the patches. This patch makes it possible to skip dependencies by adding a new flag to our upstream patch getter. The current design is only going to permit `--skip_dependencies` when there's exactly one `--differential` patch, since `--skip_dependencies` is a global option. If we're finding this to be a common nuisance, then we can look at redesigning the feature to allow lists of differentials with skipped dependencies. ``` ./get_upstream_patch.py --differential D12345 --skip_dependencies ./get_upstream_patch.py --cl 12345 --differential D45678 --skip_dependencies ./get_upstream_patch.py --cl 12345 --skip-dependencies ./get_upstream_patch.py --differential D12345 \ --differential D45678 \ --skip_dependencies ``` BUG=b:204779256 TEST=Tested locally Change-Id: I89032cba82c17c9f844bfac3cba330d173826ffd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3255665 Commit-Queue: Christopher Di Bella <cjdb@google.com> Tested-by: Christopher Di Bella <cjdb@google.com> Auto-Submit: Christopher Di Bella <cjdb@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-11-04crosperf: Replace non-inclusive languageJordan R Abrahams
Missed a single instance of this, as it's not a violation in go/pi-terms, but is a violation in go/coil. BUG=b:204057159 TEST=Presubmit tests Change-Id: I4bc4997cb42c82c66e4d56281bb16e4452072e01 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3260693 Tested-by: Jordan R Abrahams <ajordanr@google.com> Auto-Submit: Jordan R Abrahams <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-11-03afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I59e1e016248a80227b6657236b72bc73168bfa6d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3260685 Tested-by: Denis Nikitin <denik@chromium.org> Auto-Submit: Denis Nikitin <denik@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2021-10-29crosperf: Update default_remotes to new DUTsJordan R Abrahams
DUTs have been moved to different rows and racks. This updates the default_remotes accordingly. These devices are chosen by checking the swarming dimension setting "label-pool=toolchain". Additionally, this removes Lulu machines as they are no longer in the toolchain pool. BUG=b:178744715 TEST=Presubmit hooks Change-Id: Ifefb6cb6d2dae58d3c27b55f3a39bccf2fd27eb4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3252241 Commit-Queue: Jordan R Abrahams <ajordanr@google.com> Tested-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-10-28Replace non-inclusive languageJordan R Abrahams
Wherever possible, this commit removes non-inclusive languages as per COIL policy. Some of this language exists in dead code, so this commit also removes confirmed dead code. Also some minor lint fixes to get the code past the lint checks. BUG=b:204057159 TEST=Presubmit tests Change-Id: I299bfbe5dfcbe761efc5dcb29caea2337abe3f30 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3243940 Tested-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-10-27llvm_tools: fix yapf warningsRyan Beltran
This CL applies fixes automatically generated by yapf during presubmit hook as well as a few manual fixes: * Removing erroneous `verbose` argument from call to RunTryJobs * Replacing / with parenthsis for long lines * Shortened some variable names to fix lines that were too long BUG=None TEST=rerean unit tests Change-Id: Ic6ed4bb74f067dd5c67991481caf75d8829bf86e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3248930 Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Auto-Submit: Ryan Beltran <ryanbeltran@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-10-27llvm_tools: Add lldb_server to updated_packagesRyan Beltran
This CL adds dev-util/lldb-server to the list of packages updated by various tools. Additionally, it updates the default packages in update_chromeos_llvm_hash.py so that we don't have to manually supply them anymore, and refactors other scripts to use that list instead of maintaining their own. BUG=b:196602751 TEST=`python3 -m unittest discover -s . -p '*_unittest.py'` Change-Id: I0856c8f854dc2cbd0f2f21b71db96d3ef000caa8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3248929 Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Auto-Submit: Ryan Beltran <ryanbeltran@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-10-20compiler_wrapper: ignore unused_but_set_variableRyan Beltran
This CL adds -Wno-unused-but-set-variable to clang post flags to prevent these warnings from blocking the LLVM uprev. BUG=b:195433889 TEST=cq Change-Id: I5195412183e2684aecd20b6ff2c3345f8b8b9dfb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3235575 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>