aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-17Merging 68 commit(s) from Chromium's toolchain-utilsHEADmastermainZijun
Merged commit digest: a37c013c llvm_tools: move FindChromeOSRootAbove to chroot.py c6733c05 auto_abandon_cls: include internal CLs 8a26cd3e cros_utils: add support for parsing for internal CL uploads 54e65f79 git: add helper to determine if something's a full SHA f46a883d llvm_tools: add package stabilization script c5dcecf1 llvm_tools: remove LLVM_HASH usage from get_upstream_patch 5a25614b llvm_tools: migrate nightly_revert_checker to get_llvm_hash 18a3ccb6 llvm_tools: let `get_llvm_hash` grab llvm-next/llvm hashes 53ba4150 llvm_tools: add bb_add.py f8e584c2 llvm_tools: add a file to contain llvm testing information 5910e9f1 llvm_tools: add internal CL support to cros_cls 977ad131 rust-analyzer-chromiumos-wrapper: Perform exact prefix match for replacement 51776b56 rust-analyzer-chromiumos-wrapper: Update rust-analyzer in chroot to /usr/bin 7da035ef rust-analyzer-chromiumos-wrapper: Replace on first match only. 9b49b4f2 rust-analyzer-chromiumos-wrapper: Use arrays instead of hashmaps to store replacements dc3dc47e rust-analyzer-chromiumos-wrapper: Simplify test payloads 48b9e2d0 rust-analyzer-chromiumos-wrapper: Simplify test output Vec initialization 92a0ed1a rust-analyzer-chromiumos-wrapper: Generate Content-Length for tests in the helper 6523933c patch_sync: Fix android patch filtering. e72432d7 patch_sync: Clean up clippy lints 9418ce84 llvm_tools: add gerrit cwd 91004c13 llvm_tools: add revision autodetection to the patch cleanup script 26d580d4 afdo_tools: move worktree creation to git_utils 13efc0f6 Make git am a dry run when running test_apply() 9a6d822b afdo_metadata: Publish the new kernel profiles ae16c1dd setup_for_workon: make --checkout or --no-checkout mandatory b5f88d7d llvm_tools: use new make_tempdir method in tests f6dc855c llvm_tools: add clean_up_old_llvm_patches script e1133ef4 afdo_metadata: Publish the new kernel profiles 4db0e315 llvm_tools: fix `cros lint` & mypy issues in patch_utils 3f4382d0 llvm_tools: remove unused `patch_cmd` arg 0fc9b4d6 llvm_tools: remove REMOVE_PATCHES failure mode f710649f afdo_tools: move git utilities into cros_utils 226bf89b compiler_wrapper: automatic sync feab5cec afdo_metadata: Publish the new kernel profiles 443429f4 check-presubmit: add missing f baceb2f1 afdo_tools: Replace gsutil with gsutil.py 67fd41ab replace shlex.quote with shlex.join 44fc9bbb update_packages_and_run_tests: set wip on uploaded changes ad01c999 update_kernel_afdo: clarify logging slightly 08f5f2ad afdo_metadata: Publish the new kernel profiles f49627a5 compiler_wrapper: automatic sync a692f08c llvm_tools: update repo manifest by default for llvm upgrades b8a26ea2 afdo_metadata: Publish the new kernel profiles 3c03d572 delete `auto_delete_nightly_test_data.py` 3b0d75a2 afdo_tools: remove update_kernel_afdo 14fc4f03 afdo_tools: update profiles even if they're old b824cf76 afdo_tools: add chromeos-tree flag to update_kernel_afdo.py 12edaa8d afdo_tools: fix `git` invocation in update_kernel_afdo.py 23453f96 llvm_tools: add llvm_simple_bisect.py 112b4b64 compiler_wrapper: automatic sync 83ca115a afdo_metadata: Publish the new kernel profiles e351bbc6 afdo_tools: add update_kernel_afdo.py 7b937bee afdo_tools: skip kernel 5.4 temporarily in upgrades 7539fd49 llvm_tools: support new LLVM_VERSION_MAJOR location 013f7a3e toolchain_utils_githooks: add --install_deps_only flag 9b2e8e11 afdo_tools: print arch info when saying 'wrong version' 1409d51f auto_delete_nightly_test_data: split abandoning into another script 56b13e96 afdo_tools: un-add 6.6 kernel version f3de6683 update_packages_and_run_tests: add chroot args ddbd42cf llvm_tools: s/chroot_path/chromeos_path e28af8e1 update_kernel_afdo: roll for kernels 6.6 and 6.1 db4d68ea afdo_tools: fix script output for stable channel 84141e2b compiler_wrapper: automatic sync 7707b2c7 auto_update_rust_bootstrap: gracefully handle multiple CLs 1ea2d92f pgo_rust: emerge `cross-*/rust` packages 423ae14d rust_uprev: skip fetching bootstrap tbz2 159f6741 rust_uprev: specify category for `equery w rust` Change-Id: Ia1a4e4b4639bf304559360fbec431b67588304f6
2024-04-16llvm_tools: move FindChromeOSRootAbove to chroot.pyGeorge Burgess IV
This will be used more widely in later CLs. BUG=b:333462347 TEST=unittests Change-Id: Icbba5f343f3e92e347785686c3bb324d53ed46b6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5460283 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-16auto_abandon_cls: include internal CLsGeorge Burgess IV
BUG=b:335019675 TEST=Ran with --dry-run Change-Id: I2e78f31e8b22f8ae318e55037c7a680b059ac869 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5458261 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-16cros_utils: add support for parsing for internal CL uploadsGeorge Burgess IV
BUG=b:333462347 TEST=Unittests Change-Id: Ia6abfee1465465784c2934a4ac64e878ac577d6c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5458262 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-16git: add helper to determine if something's a full SHAGeorge Burgess IV
BUG=b:333462347 TEST=repo upload Change-Id: I83ba2269e45c8a14ef548a8c1f4b6a352356e23e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5458711 Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
2024-04-16llvm_tools: add package stabilization scriptGeorge Burgess IV
This allows a dev to make all changes in their LLVM ebuilds stable with a single command. Critically, if used with `--llvm-next`, a user can run `cros-tree bootstrap-sdk` in the tree this was run in, and they'll get something very close to an SDK run with llvm-next, but locally. No tests are included, since this has near zero conditional logic. Vast majority of that is elsewhere. BUG=b:333737743 TEST=Ran the script with --llvm-next, with an updated llvm-next. TEST=New ebuilds were created, as expected. Change-Id: Iad7bdcd4c51828e185fea698cd43922be47dd75f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5444011 Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-16llvm_tools: remove LLVM_HASH usage from get_upstream_patchGeorge Burgess IV
BUG=b:333462347 TEST=repo upload Change-Id: I6affa26c73367a7e447ea6bfe200b6ce0d7fa3de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5454857 Reviewed-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-16llvm_tools: migrate nightly_revert_checker to get_llvm_hashGeorge Burgess IV
Yay for replacing old custom logic BUG=b:333462347 TEST=Unittests Change-Id: I5459942eaaa08f0b0d694dff707bf34ee8ffe8b4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5454856 Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Bob Haarman <inglorion@chromium.org>
2024-04-16llvm_tools: let `get_llvm_hash` grab llvm-next/llvm hashesGeorge Burgess IV
This gives folks a convenient tool to get this info, since it (soon) won't be in ebuilds. BUG=b:333462347 TEST=Unittests Change-Id: I4b9a8e4ed75a459e7bcdfefe5d2e0a713746ce15 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5454855 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-15llvm_tools: add bb_add.pyGeorge Burgess IV
This allows for folks (...mostly automation and the mage) to conveniently run `bb add` with 'well-known' toolchain CLs/CL stacks, like the current llvm-next CL stack, or the disable-werror CL, or similar. BUG=b:333462347 TEST=Unittests Change-Id: I43aa2f3a863a4121a6920a4e7a4adcd412057644 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5454854 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-15llvm_tools: add a file to contain llvm testing informationGeorge Burgess IV
This will be the new home for the LLVM_NEXT SHA (and associated revision). BUG=b:333462347 TEST=Unittests Change-Id: Ic03420e5c201a826c3cebdb79f900cceb91e6dc3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5450239 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-15llvm_tools: add internal CL support to cros_clsGeorge Burgess IV
Some llvm-next CLs (e.g., manifest updates) need to be internal. Supporting those here is straightforward. BUG=b:333462347 TEST=repo upload Change-Id: I6ca14cfce2e086743476fe0eb059b9172736707e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5450238 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-12rust-analyzer-chromiumos-wrapper: Perform exact prefix match for replacementTatsuyuki Ishi
Paths in rust-analyzer RPC messages can be either file: URIs or normal paths. Previously both were handled by allowing replacements in the middle of a string; but this was an ugly solution as it was explained in the comments. Hence, introduce a separate path to process file: URIs, and perform exact prefix match for both URIs and paths. The assumption that a path can be a URI or a normal path, and not something else (e.g. JSON object encoded in string that contains multiple paths), was validated through instrumenting the previous code such that it will error out on such unexpected entries. The instrumented version worked in VS Code rust-analyzer without hitting the exception path. BUG=b:333979840 TEST=cargo test TEST=check ctrl+click navigation in VS Code in CrOS repository Change-Id: I556def4e0a0ea9d7333a2bfb30f0bc481bc20cc9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5449292 Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Commit-Queue: Allen Webb <allenwebb@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Allen Webb <allenwebb@google.com> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com>
2024-04-12rust-analyzer-chromiumos-wrapper: Update rust-analyzer in chroot to /usr/binTatsuyuki Ishi
Based on the ebuild (and observation in actual chroot) the rust-analyzer binary should reside in /usr/bin. BUG=b:333979840 TEST=cargo test Change-Id: I6d3fc9115096084e16870840109d6a1ddf458ba5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446202 Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com> Reviewed-by: Allen Webb <allenwebb@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2024-04-12rust-analyzer-chromiumos-wrapper: Replace on first match only.Tatsuyuki Ishi
Applying replacement once transforms a path from the old namespace to new namespace. Doing further replacements will end up with confusing results. BUG=b:333979840 TEST=cargo test Change-Id: Icc57262d47d64f7aa5ced72d32c1246a2e2ceab4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446201 Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com> Reviewed-by: Allen Webb <allenwebb@google.com> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-12rust-analyzer-chromiumos-wrapper: Use arrays instead of hashmaps to store ↵Tatsuyuki Ishi
replacements For string replacements, hashmap don't really improve performance nor simplify code. Just use arrays which is a little simpler. Also update the tests to take a variable count of replacements, which will be useful for future tests. BUG=b:333979840 TEST=cargo test Change-Id: I59de9cdeeebe262dc20d2ef438d9206574c4a6b6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446200 Reviewed-by: Allen Webb <allenwebb@google.com> Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com>
2024-04-12rust-analyzer-chromiumos-wrapper: Simplify test payloadsTatsuyuki Ishi
Use raw literals to avoid escape sequences. Remove comments about parameter names, since the information is easily available through IDEs (Inlay Hints) these days. BUG=b:333979840 TEST=cargo test Change-Id: I725f74142f760d8e41b8b766d9ef8272ec219cb9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446199 Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Allen Webb <allenwebb@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com>
2024-04-12rust-analyzer-chromiumos-wrapper: Simplify test output Vec initializationTatsuyuki Ishi
The upper bound should be the byte length of json_expected, not str length of read. But it doesn't really matter since this is not performance critical test code, so just use the default constructor. BUG=b:333979840 TEST=cargo test Change-Id: I11e963d6f0fe65d08ba3b552ce24785ac51bfbd7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446198 Reviewed-by: Bastian Kersting <bkersting@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Reviewed-by: Allen Webb <allenwebb@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com>
2024-04-12rust-analyzer-chromiumos-wrapper: Generate Content-Length for tests in the ↵Tatsuyuki Ishi
helper Manually specifying the Content-Length makes it more tedious to modify the tests, so let the helper generate it instead. This simplifies the test payloads. BUG=b:333979840 TEST=cargo test Change-Id: I3e485dcaa74c6ca17f31cf8f6bad15911b592173 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5446197 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Allen Webb <allenwebb@google.com> Auto-Submit: Tatsuyuki Ishi <ishitatsuyuki@google.com> Tested-by: Tatsuyuki Ishi <ishitatsuyuki@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Bastian Kersting <bkersting@google.com>
2024-04-10patch_sync: Fix android patch filtering.Jordan R Abrahams-Whitehead
Previously, we were filtering patches *from android to chromiumos* using the android revision number, but what we _actually_ want to do is filter patches *from chromiumos to android* using the android revision number. This is confusing, but it's a very quick fix. Additionally, add slightly more logging so that we're easily able to catch such version range changes as before. BUG=b:333741962 TEST=Ran on chrotomation2 successfully Change-Id: Icb85c3c6fa42cc924295e6d49131b834a8899ea6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5444000 Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2024-04-10patch_sync: Clean up clippy lintsJordan R Abrahams-Whitehead
Fixes all the latest clippy lints in patch_sync. This CL should provide no functional changes if implemented correctly. Most of these changes are moving values into AsRef generic parameters, rather than passing as a ref. BUG=b:333741962 TEST=cargo clippy; cargo test Change-Id: I232a21008ca2bbe7c85a6f4b01b3267c0aab47fc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5443986 Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2024-04-10llvm_tools: add gerrit cwdGeorge Burgess IV
This has to be run in a worktree on Chrotomation, which might not be in a `repo` checkout. BUG=b:332601837 TEST=None :) Change-Id: Ia9a9888db302ca28ce76b3bb7802003dab140755 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5436084 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-10llvm_tools: add revision autodetection to the patch cleanup scriptGeorge Burgess IV
This is the last bit of b/332589934#comment3. Once this lands & is tested, we can add a tiny script to work in a cros worktree, add that to cron, and consider this fixed. BUG=b:332589934 TEST=Ran on Chrotomation Change-Id: I812f9e75e2349b88308be89687687131159bafc3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5435855 Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-10afdo_tools: move worktree creation to git_utilsGeorge Burgess IV
This will be needed soon by more CLs for b/332589934. BUG=b:332589934 TEST=repo upload Change-Id: Id91a3604e0e547de0d348e6aa01ec168e0165c50 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5435854 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-10Make git am a dry run when running test_apply()zijunzhao
git am doesn't have any dry run options. So we run git apply --summary for test_apply() when using git am. BUG=b:330740421 TEST=local test in llvm-toolchain Change-Id: Ifd69466098cad2179aebc3e57b4bb442699a6f96 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5404830 Reviewed-by: Aditya Kumar <appujee@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Pirama Arumuga Nainar <pirama@google.com> Auto-Submit: Zijun Zhao <zijunzhao@google.com> Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2024-04-10afdo_metadata: Publish the new kernel profilesmobiletc-prebuild
This brings some profiles to their newest versions. The CrOS toolchain detective has been notified about the failures that occurred in this update. BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I58c8469ec6fa403c0a8cf535d844b95652f72468 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5443983 Commit-Queue: George Burgess <gbiv@chromium.org> Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2024-04-08setup_for_workon: make --checkout or --no-checkout mandatoryGeorge Burgess IV
As suggested by ryanbeltran@. BUG=None TEST=Ran with --checkout, --no-checkout, and neither of these. TEST=Succeeded in the first two cases, failed with a helpful error TEST=message in the last. Change-Id: I418daaf64053aefcf454a0b4794db037f2fcc39b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5436086 Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
2024-04-08llvm_tools: use new make_tempdir method in testsGeorge Burgess IV
This was added in crrev.com/c/5420775, but too noisy to migrate everything as part of that CL. BUG=b:332589934 TEST=repo upload Change-Id: I0356a726a32a18be3671f5dea5613b4c9534b949 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420794 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-08llvm_tools: add clean_up_old_llvm_patches scriptGeorge Burgess IV
BUG=b:332589934 TEST=Ran the script; it uploaded a CL correctly: crrev.com/c/5421089 Change-Id: Ib7f18f5d55102c3eeceb6db942832063e9883d41 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420775 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-08afdo_metadata: Publish the new kernel profilesmobiletc-prebuild
This brings some profiles to their newest versions. The CrOS toolchain detective has been notified about the failures that occurred in this update. BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I4053077cb7b1145bd8b042b77f0a110abe1086a1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5435853 Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-08llvm_tools: fix `cros lint` & mypy issues in patch_utilsGeorge Burgess IV
`mypy` doesn't infer the right types for some of these lists, and _really_ dislikes multiple calls to the same Callable with different signatures. `cros lint` was unhappy with `==` to compare fns, and unmentioned things in docstrings. BUG=b:332589934 TEST=repo upload Change-Id: Ic6929e8524797b2fdc96db65a94c0f98ea9dd8bb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420774 Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-08llvm_tools: remove unused `patch_cmd` argGeorge Burgess IV
This makes `cros lint` happy. BUG=b:332589934 TEST=repo upload Change-Id: Ic0b15dd0829f731b3387ca6b3df6dbca5688ea93 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420773 Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
2024-04-08llvm_tools: remove REMOVE_PATCHES failure modeGeorge Burgess IV
This failure mode seems completely unused, and the concept of removing all patches before a certain rev (but only if any patches fail) is kind of odd. Instead, we should just have a cronjob that ensures this is done regularly. BUG=b:332589934 TEST=repo upload Change-Id: Idc25ad61031f70ceb717b8a35219b521a820b6c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420772 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-04-08afdo_tools: move git utilities into cros_utilsGeorge Burgess IV
These will be useful soon for an llvm patch cleanup script I'm working on. Factor them out to reduce maintenance. BUG=b:332589934 TEST=Unittests & new script Change-Id: I69114cc8df0a94a8edc9525571d1a7d45d04d369 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5417086 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-04-04compiler_wrapper: automatic syncmobiletc-prebuild
This CL automatically brings toolchain-utils' compiler_wrapper/ directory in sync with chromiumos-overlay's. Please see go/crostc-repo/+/main:sync_compiler_wrapper_within_cros.sh for more info on this process. BUG=None TEST=None Change-Id: I2c37328293a6f91a0f8f3bdbbc72b1e2123a7f31 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5425512 Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2024-04-03afdo_metadata: Publish the new kernel profilesmobiletc-prebuild
This brings some profiles to their newest versions. The CrOS toolchain detective has been notified about the failures that occurred in this update. BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Ic39eba5fc67bb22f7e7ad98962ca2ef1e8004ccb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5420768 Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
2024-04-02check-presubmit: add missing fGeorge Burgess IV
Oops. BUG=b:332589934 TEST=repo upload complained while actually giving me autofix commands Change-Id: Ie4cecccaeb13c325928e6185a1c3be59bef4f787 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5417085 Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2024-04-02afdo_tools: Replace gsutil with gsutil.pyJordan R Abrahams-Whitehead
gsutil.py is provided by depot_tools, and gsutil is provided by gcloud cli. They are technically different versions at times, but we should always be using the one provided in depot_tools while it exists, to prevent unneeded host package dependencies. BUG=b:328291076 TEST=run_tests_for.py afdo_tools/ Change-Id: I9f3008c41dc95c527a782ae3ddf941b1cf212088 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5410943 Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
2024-04-02replace shlex.quote with shlex.joinGeorge Burgess IV
shlex.join(list_of_strs) is new in py3.8. It's also a decent bit cleaner than `" ".join(shlex.quote(x) for x in l)`. BUG=None TEST=repo upload Change-Id: Id1f6170bd3364adb6e229bc001ab9c0a182c2123 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5410944 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Auto-Submit: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-03-27update_packages_and_run_tests: set wip on uploaded changesGeorge Burgess IV
BUG=b:331607705 TEST=repo upload Change-Id: If7bbd445f89663a71d922021745a94f856b18758 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5402395 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-03-27update_kernel_afdo: clarify logging slightlyGeorge Burgess IV
- Just `warn` if profiles can't be found for a branch, since this happens between branch time & profiles being regenerated - Highlight that folks should look for `ERROR` logs, since logs can reach O(hundreds) of lines with Git output. BUG=b:322182978 TEST=Ran the script Change-Id: Id01ee7a2ffd7b00fc6a08ab384db4ab8b96e2231 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5382122 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Auto-Submit: George Burgess <gbiv@chromium.org>
2024-03-27afdo_metadata: Publish the new kernel profilesmobiletc-prebuild
This brings some profiles to their newest versions. The CrOS toolchain detective has been notified about the failures that occurred in this update. BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Id210e6efb61f7831680a3b6a0f07623960692970 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5402392 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
2024-03-25compiler_wrapper: automatic syncmobiletc-prebuild
This CL automatically brings toolchain-utils' compiler_wrapper/ directory in sync with chromiumos-overlay's. Please see go/crostc-repo/+/main:sync_compiler_wrapper_within_cros.sh for more info on this process. BUG=None TEST=None Change-Id: I52b37cae6c0c5e5bd656cc9140ebe3ed0a256a7c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5391642 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
2024-03-20llvm_tools: update repo manifest by default for llvm upgradesRyan Beltran
We need to make manifest changes to apply llvm upgrades now. The update_chromeos_llvm_hash script already supports this but by putting it behind a flag it is easy to miss (especially since it wasn't necessary until relatively recently). This CL makes it automatic for non-llvm_next updates. BUG=None TEST=llvm_tools/update_chromeos_llvm_hash_unittest.py Change-Id: I78ea436ea7e1f52bac00ede55b46705ae13dd03e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5373412 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2024-03-20afdo_metadata: Publish the new kernel profilesmobiletc-prebuild
This brings some profiles to their newest versions. The CrOS toolchain detective has been notified about the failures that occurred in this update. BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I8b4887b0d074968df0c3d278dbbb2b9c20cc1509 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5383546 Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2024-03-20delete `auto_delete_nightly_test_data.py`George Burgess IV
This is no longer run automatically on Chrotomation, and after a week of not running it on Chrotomation, there was nothing new for it to delete. BUG=b:329243828 TEST=None Change-Id: I8b7261c43c6449197d1920de4824f70ffda1396f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5381719 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: George Burgess <gbiv@chromium.org> Reviewed-by: Bob Haarman <inglorion@chromium.org>
2024-03-19afdo_tools: remove update_kernel_afdoGeorge Burgess IV
Everything should be migrated from this by now. BUG=b:329449239 TEST=None Change-Id: I739505e59aaa476ed3c96d256eec9802ec70322f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5375215 Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Auto-Submit: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-03-19afdo_tools: update profiles even if they're oldGeorge Burgess IV
While we want the detective to be aware of (and probably look into) old kernel profiles, we should still _roll_ to these profiles if they're newer than what's already available to us. BUG=b:329449239 TEST=Ran locally; ARM/5.15 rolls were written to JSON files, but the TEST=script still errored out as it should. Change-Id: I259be7d70d7f4ad7d0d527a07af41d0eb47ace41 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5377049 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2024-03-19afdo_tools: add chromeos-tree flag to update_kernel_afdo.pyGeorge Burgess IV
...While this tool doesn't need the `repo` command, `gerrit` needs to be invoked from within a ChromeOS tree. Allow that to be specified (or autodetected, as necessary). BUG=b:329449239 TEST=Ran locally. Change-Id: Icfc2fd19d99c07ea30d7ef8c7ac11770a790a867 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5377048 Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2024-03-19afdo_tools: fix `git` invocation in update_kernel_afdo.pyGeorge Burgess IV
Now that I look at this code, `cc=foo,bar,r=baz` pretty obviously doesn't work. Oops. :) BUG=b:329449239 TEST=Ran on Chrotomation Change-Id: I556e6bd1a7057eed6b4a27134c147bd114aa323e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5377047 Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com> Tested-by: George Burgess <gbiv@chromium.org>