aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
2021-10-20Add crosperf_autolock.py wrapperJordan R Abrahams
This crosperf wrapper allows the user to lock devices by board type. It will query the swarm using the crosfleet API to find and lock an appropriate board. The remaining arguments are passed to crosperf, so the command will act like crosperf otherwise, once the remote has been set. One limitation is that this wrapper does not conduct any SSH port forwarding (which would be required for flashing devices from a cloudtop, for example). BUG=b:187535367 TEST=crosperf_autolock.py --board chell chell_exp.exp Change-Id: If8dc4630c42be63d6427716654e7dd7fa4132df5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3221950 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan R Abrahams <ajordanr@google.com> Tested-by: Jordan R Abrahams <ajordanr@google.com>
2021-10-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: Ia538fab15c409b67bfe21de04db3dc3a1e4ab544 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3228899 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org>
2021-10-11Auto-format the crosperf filesJordan R Abrahams
Currently, these crosperf files do not abide by the pep8 standard that CrOS requires. This applies the necessary formatting to get past the commit hook. BUG=None TEST=CQ (formatting) Change-Id: I501fd37f8a1d20fd0b987587eb52eb582f18c1a1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3215085 Tested-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Jordan R Abrahams <ajordanr@google.com>
2021-10-11Add 'no_lock' crosperf settingJordan R Abrahams
This global experiment setting prevents crosperf from attempting to lock the associated devices. This is important if the devices were locked previously before by crosfleet. BUG=b:187535367 TEST=CQ TEST=Lease board from crosfleet. Forward SSH port. Run crosperf on forwarded port. Change-Id: I0f5341e07e325a613c6316778c0f096f6d8088a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3210525 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jordan R Abrahams <ajordanr@google.com> Commit-Queue: Jordan R Abrahams <ajordanr@google.com>
2021-10-08afdo_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: Ie0f2728c1a4800dbfe1f8f98ec98c73a6d8a33a6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3214700 Reviewed-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2021-10-08compiler_wrapper: move llvmnext flag to post flagsRyan Beltran
This CL moves flags added for LLVM Next that disabled variable_unused_but_set warnings to PostFlags in order to make sure it gets added after Wall and Wextra. BUG=b:195433889 TEST=reran package tests Change-Id: Icdd2cbe3ced7b8427257c87f9e527b0d0e8da57d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3214640 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2021-10-05compiler_wrapper: android clang-tidy warnings on used secondsChih-Hung Hsieh
Give a warning if clang-tidy used more than TIDY_TIMEOUT/2 seconds. Users can fix it before it gets worse and times out. BUG=b:199451930 TEST=Use a fake Android clang-tidy.real binary, TEST=to dump passed environment variables and run for required time. Change-Id: I8df7e4e3bb621cbf40094c7b97494e5978d7c6a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3200220 Reviewed-by: Chih-Hung Hsieh <chh@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2021-10-05rust_uprev: fetch distfiles from local mirrorBob Haarman
This adds a few extra steps to rust_uprev where rust sources and rust-bootstrap prebuilts are fetched from the local mirror. This ensures that these files exist and are readable, and that the local versions (that will be used to compute the digests for the manifest) match the ones on the mirror. BUG=None TEST=Ran the script with existing and non-existing rust versions Change-Id: I9868b027356cf14fc10d9e56665c74ad26555345 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3182632 Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Bob Haarman <inglorion@chromium.org>
2021-10-01update_kernel_afdo: Skip 95 branchDenis Nikitin
Add a list of skipped chromium branches and adjust canary branch number calculation. BUG=None TEST=`./update_kernel_afdo` shows 96 as canary. Change-Id: If96711f5a0d52c128d4829e338b9b950001c6e75 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3199488 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-10-01afdo_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: Ibb3548142490b8a8277bd09eb2b53365c43507e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3200213 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2021-09-27afdo_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: I0990d136a0307c14242b95a0b7e7e158c7318d91 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3183335 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-09-25rust_uprev_test: mock equery w commandsBob Haarman
rust_uprev uses `equery w` to find the ebuild file for a package. This depends on filesystem state and so should not affect the test. This change mocks these calls so that they return specified values instead of actually running commands and accessing the filesystem. BUG=None TEST=Ran the tests outside the chroot, where equery does not exist Change-Id: Id48a0e063f9bf112888d378d549420f008fdcb4f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3182629 Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Michael Benfield <mbenfield@google.com> Commit-Queue: Bob Haarman <inglorion@chromium.org>
2021-09-23afdo_metadata: Publish the new kernel profilesRyan Beltran
Update chromeos-kernel-3_18 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: I2762c38bcc24070660de24a349f5829a7436a3b9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3171121 Reviewed-by: Denis Nikitin <denik@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2021-09-21update_kernel_afdo: Remove 3.18Denis Nikitin
Remove 3.18 from the kernel AFDO update. BUG=b:199787442 TEST=./update_kernel_afdo Change-Id: I343d2048fb6bbd9c3c9f37bdfe64526a91c68220 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162669 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-09-20Clean up cros-logging-import pylint attributesJaques Clapauch
BUG=b:200542097 TEST=None Change-Id: I82f4011d499b323a4eceda2949e103dc1559299f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3171413 Commit-Queue: Jaques Clapauch <jaquesc@google.com> Commit-Queue: Chris McDonald <cjmcdonald@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: Jaques Clapauch <jaquesc@google.com> Auto-Submit: Jaques Clapauch <jaquesc@google.com> Reviewed-by: Chris McDonald <cjmcdonald@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-09-16Add mass_seccomp_editor.py for seccomp editingJordan R Abrahams
This tool lets you work with large swaths of seccomp files quickly, determining which have missing syscalls, and allowing fast editing for all of them. BUG=None TEST=cd mass_seccomp_editor; python3 -m unittest TEST=Ran many times for glibc noexec patch Change-Id: I7dbad6eff431d41e23d31465a444b209520e953a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3101468 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-09-16run_tests_for: recognize `test_`/`unittest_` prefixes as testsGeorge Burgess IV
Apparently some upstream conventions use `test_${x}.py` instead of this repo's standard of `${x}_(test|unittest).py`. Either seems fine, and supporting both seems simple. This includes some formatting updates from yapf. BUG=None TEST=`./run_tests_for.py llvm_tools/*.py` TEST=Made a new test_foo.py script; saw that it was picked up. Change-Id: I533a9395227d8342411cacfbd1bb6d5c63b8ec2a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3163797 Reviewed-by: Jordan R Abrahams <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-09-16rust_uprev: changes for rust-1.55ChromeOS Developer
Updating to rust-1.55.0 required a few changes to rust_uprev: - patches for rust-bootstrap no longer need to be renamed and removed. - the version sequence is now RUST_RAW_FULL_BOOTSTRAP_SEQUENCE BUG=None TEST=created uprev for rust-1.55 Change-Id: I56a64d5fd7902e01ee2ca3c13dcfc3eee52d6fc6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162670 Tested-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-09-15compiler_wrapper: Handle TIDY_TIMEOUT for Android clang-tidyChih-Hung Hsieh
* To check in upstream chromeos tools. * In Android mode, for clang-tidy, call runAndroidClangTidy to handle TIDY_TIMEOUT * Add runWithTimeout to env.go and runCmdWithTimeouit to command.go. BUG=b:199451930 TEST=Use a fake Android clang-tidy.real binary, TEST=to dump passed environment variables and run for required time. Change-Id: I629ae372251c034595011ef70559f8b12ed8568c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162668 Reviewed-by: Chih-Hung Hsieh <chh@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2021-09-15compiler_wrapper: fix use-llvm-next testGeorge Burgess IV
The history of this test looks weird. We've had it intermittently enabled/disabled depending on whether we're passing flags specifically to llvm-next versions of clang. At the moment, it's failing due to a lack of `-Wl,-z,nostart-stop-gc`, which was removed in a previous CL. BUG=None TEST=go test Change-Id: I4b1ab9e5d39ba0e5575f89f51e4e83afba24a025 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162667 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>