Age | Commit message (Collapse) | Author |
|
simpleperf-release
Change-Id: I3f786968fe8de6ceeb4585432b15cae5ad404b77
|
|
Merged commit digest:
61074474 Dedupe addition of crash-diagnostics-dir
c75f0ff3 llvm_tools: Fix cros workon invocation
e632e6f8 Commit patches instead of using patch
74d1998a pgo_rust: remove code for rust-artifacts
ebfdad7a rust_uprev: remove code for rust-artifacts
9bff7a7c compiler_wrapper: automatic sync
fd01d9a8 llvm_tools: parse default-fatal warnings properly
6dbf24aa llvm_tools: add aggregate board root canonicalization
674ee6b0 compiler_wrapper: automatic sync
f1aac8ff llvm_tools: add -Werror log fetching functionality
8446d3d7 compiler_wrapper: automatic sync
b715ea44 toolchain-utils: Fix /home paths in rust analyzer wrapper
e3acf484 auto_update_rust_bootstrap: fix dir detection logic
6ed3a301 toolchain-utils: Fix paths related to sysroot in rust-analyzer wrapper
6ecb1100 Clean up dead toolchain scripts
62b68a9e bugs: add Rust-y metabugs
6600638a auto_update_rust_bootstrap: fix whitespace in commit message
ee70ef2a rust_uprev: don't update rust-bootstrap
282120e8 rust_uprev: refactor repetitive routines regarding rusty revisions
0a091272 rust_uprev: refactor create_ebuild() to take strings instead of a path
c2b9e7a4 pgo_rust: explicitly build rust-artifacts
bf1e26ec rust_uprev: use stdout=PIPE instead of capture_output
7d31a04d rust_uprev: remove update_manifest()
36aedb0f rust_tools: link rust upgrades to the rust maintenance metabug
88ec70a9 cros_utils: add parent_bug support to `bugs`
9910f177 cros_utils: fix minor issues
18e8096c toolchain-utils: Update rust-analyzer README
211f63aa llvm_tools: add setup_for_workon.py
73f2f02c compiler_wrapper: automatic sync
7868f472 rust_uprev: make find_ebuild_for_rust_version() call find_ebuild_path()
1333c307 rust_uprev: only return base ebuilds from find_rust_versions()
9f1cac16 rust_uprev: rewrite find_rust_versions() to use Path instead of os.*
da46b240 rust_uprev_test: stop importing RustVersion
e6052e7d compiler_wrapper: automatic sync
8a15d25d toolchain-utils: Fix clippy warnings for wrapper
ce175473 toolchain-utils: Fix rust-analyzer-chromiumos-wrapper
d01e0900 nightly_revert_checker: refactor find_shas
f750cb6d nightly_revert_checker: add stale HEAD notifications
4093f8fd nightly_revert_checker: use a State object
46b7a614 nightly_revert_checker: import directly from `typing`
b5900731 llvm_tools: Fix get_changed_packages in get_patch
521f6bf0 afdo_metadata: Publish the new kernel profiles
920d0402 fetch_cq_size_diff: add docs to README
68d56fca fetch_cq_size_diff: add debuginfo checking
f005cb1a fetch_cq_size_diff: refactor to facilitate debuginfo
d6925f77 llvm_tools: add a -Werror log parsing tool
567a3a8d pgo_tools: add update_llvm_manifest
c3c9c087 llvm_tools: Force patch_utils.py to sort metadata
f032a972 llvm_tools: Fix get_patch.py for cherrypicks
389fa0b2 llvm_tools: Add GitHub API usage to get_patch.py
f94c1fdf llvm_tools: get_patch.py now applies patches
f6ebdbbf llvm_tools: Add skeleton for get_patch.py
9ae061aa llvm_tools: add fetch_cq_size_diff
74c4d9da llvm_tools: add cros_cls
f06e93eb compiler_wrapper: automatic sync
ec7fdc05 afdo_metadata: Publish the new kernel profiles
d6e8b62a toolchain_utils_githooks: add script to mypy checks
7fa195dc llvm_tools: Keep patches_info as PatchInfo
6ec59ddb rust_tools: fix bug in prebuilt autodetection
3d9f44f9 afdo_metadata: Publish the new kernel profiles
316be047 contrib: add bgtask
d1ecff2d check_portable_toolchains: add sdk autodetection
ff53a87d llvm_tools: opt into static checking for all Python code
c681e245 llvm_tools/get_upstream_patch.py: fix type errors
c5011c60 cros_utils/tiny_render.py: fix mypy complaints
0138c609 llvm_tools/llvm_project.py: opt into static type checking
a117ba3f cros_utils/tiny_render.py: remove coding cookie
62443eee llvm_tools: accept Path or str in git_llvm_rev.LLVMConfig
85d69d3f llvm_tools/check_clang_diags.py: fix mypy complaints
7e5f7547 cros_utils/bugs.py: fix type annotations and opt into static checking
f0c424df cros_utils/bugs.py: fix cros lint complaints
65570114 llvm_tools/modify_a_tryjob.py: opt into static type checking
290d35da llvm_tools: Remove "verbose" in places where it does nothing
012ab521 llvm_tools/update_packages_and_run_tests.py: add type annotations
4130ffa2 llvm_tools/update_chromeos_llvm_hash.py: fix type errors and unit test
c5db9bcd llvm_tools/manifest_utils.py: opt into static type checking
3866411f llvm_tools/patch_{manager,utils}.py: opt into static type checking
8e7e57a7 llvm_tools/get_llvm_hash.py: annotate and opt into static type checking
97d35514 llvm_tools/git.py: opt into static type checking
0c334bf3 llvm_tools: remove duplication among chroot.py and git.py
30180e95 llvm_tools/atomic_write_file.py: fix type annotation errors
d735864c afdo_metadata: Publish the new kernel profiles
dcced50e llvm_tools/git_llvm_rev.py: opt into static type checking
3470bcec llvm_tools: Don't uprev LLVM in get_upstream_patch
d0ae8571 compiler_wrapper: automatic sync
5ca2f14c llvm_tools/chroot: add type annotations and opt into static checking
aaf2973f auto_update_rust_bootstrap: cosmetic bugfixes
11af312a rust_tools: add ebuild deletion to rust-bootstrap script
0bd6b24f rust_tools: rename auto_upload_rust_bootstrap
15daabda afdo_metadata: Publish the new kernel profiles
ebe1777b rust_tools: add a tracking bug to auto_upload_rust_bootstrap
1dc476ec rust_tools: add automatic rust-bootstrap updating
0907a751 rust_tools: refactor auto_upload_rust_bootstrap slightly
b1e6c0f3 afdo_metadata: Publish the new kernel profiles
90f011ee check-presubmit: use mypy to check everything in rust_tools
679eee7e rust_tools: fix mypy type complaints
763a108b rust_tools: fix lint errors in rust_watch.py
09d24dbd rust_tools: add auto_upload_rust_bootstrap
eeadef2b afdo_metadata: Publish the new kernel profiles
d23edc69 afdo_metadata: Publish the new kernel profiles
bb3898c1 compiler_wrapper: automatic sync
b20ec7ea afdo_metadata: Publish the new kernel profiles
f55bdac8 update_chromeos_llvm_hash: add an option to skip patch application
17e4022a afdo_metadata: Publish the new kernel profiles
3d0d43c7 pgo_tools: don't upload profiles as (pretend) tarballs
61b08d5a llvm_tools: add revert report generation
e3d6a223 pgo_tools: remove mention of llvm-next_pgo_use
f7b7c6e4 check-presubmit: move `get_from_pip` under `get_pip` check
958ebe23 check-presubmit: put cros_utils on PYTHONPATH
7ecfa889 check-presubmit: silence mypy on imported modules
3bb829cc patch_sync: Add README.md
cc9e607b patch_sync: Add automation shiboleth for AOSP
83a8ff6a afdo_metadata: Publish the new kernel profiles
e9028c37 pgo_tools: Use home path for hyperfine
2b3dbd00 copy_rust_bootstrap: use lbzip2 instead of pbzip2
acf15930 copy_rust_bootstrap: add missing `stdin` for gsutil
8f2c2657 patch_sync: Don't uprev by default
9e86601c nightly_revert_checker: use github links instead of phabricator
a3fafb9b afdo_metadata: Publish the new kernel profiles
2f0a643f create_chroot_and_generate_pgo_profile: provide --out-dir
36de6197 compiler_wrapper: automatic sync
14ee7bb9 nightly_revert_checker: remove reviewers from email cc lines
d7f84c5c afdo_metadata: Publish the new kernel profiles
1490f1c0 pgo_tools: finish a refactor
9bb87f21 pgo_tools: add automation to ensure PGO remains a win
e3edb8b9 pgo_tools: refactor benchmarking to be usable as a module
e539461c pgo_tools: refactor chroot checking into a shared function
397b1bf9 llvm_tools: remove mention of llvm-tot
f3607d6a rust_uprev: cache sudo credentials
0baa32a0 git_llvm_rev: add caching
3a104f71 compiler_wrapper: automatic sync
11cdd46c afdo_metadata: Publish the new kernel profiles
5a9032ff pgo_tools: add new PGO scripts
4716c2de check-presubmit.py: support directories in mypy allowlist
06115d3e pgo_tools: delete old monitoring/merging scripts
3d8fdf8d compiler_wrapper: automatic sync
39b17698 check-presubmit: complain about changes to compiler_wrapper
4e5ad1c5 compiler_wrapper: use -D_FORTIFY_SOURCE=3 by default
6b06f503 Revert "compiler_wrapper: manually apply -D_FORTIFY_SOURCE=2"
b0269024 afdo_metadata: Publish the new kernel profiles
4976f274 compiler_wrapper: remove -Wno-string-concatenation
e9441706 compiler_wrapper: remove -Wno-gnu-offsetof-extensions
c89a3484 llvm_tools: Fix cq-depend None bug
81cc9288 llvm_tools: refactor to fix unexpected None in a List[str]
0cc50104 llvm_tools: add a few types
d6426ec3 llvm_tools: use utf-8 consistently
1c3292a5 subprocess_helpers: fix lints
0643bf41 manifest_utils_unittest: fix lints, mark as executable
9b5404ac get_llvm_hash: fix lint errors
25e67eba check_clang_diags: fix lints; reformat messaging; change cc
0b0c58f7 llvm_tools: fix tiny lints in files
26b37ade llvm_tools: address atomic_write_file lints
ef94419d afdo_metadata: Publish the new kernel profiles
409bba31 llvm_tools: pass a list instead of a string
994c900b llvm_tools: rename extra_commit_msg for clarity
0f121ea3 llvm_tools: add a few function types & modernize Cq-Depend
67c552a3 llvm_tools: address lints
fdc70e83 llvm_tools: format update hash scripts & test
6b56a7d7 llvm_tools: update_chromeos_llvm_hash cq-depend
d5bd6461 llvm_tools: update_chromeos_llvm_hash no_delete_branch
e7d3b21b afdo_metadata: Publish the new kernel profiles
f7312293 orderfile: remove subdir
62ae06cb check_portable_toolchains: Print clang version
795d7eb7 Update check_portable_toolchains in python
06f69dcd llvm_tools: update_chromeos_llvm_hash: reversion -> revision
a5861631 afdo_metadata: Publish the new kernel profiles
c0ab4a07 update_kernel_afdo: Remove kernel 4.14.
54aae7c0 llvm_tools: Version sys-devel/llvm same as others
af0e5ae3 githooks: import typenames instead of "import typing as t"
7b10332e githooks: fix type errors
50db271f llvm_tools: Fix static check errors for nightly_revert_checker
039ee2b2 githooks: add Python type checking using mypy
a4bfa9d8 rust_uprev: avoid serialization error after PGO_RUST invocations
6db0bf33 rust_uprev.py: run outside the chroot
64722563 patch_sync: Rename ANDROID_MAIN_BRANCH to main
c534313c compiler_wrapper: Remove -Wno-deprecated-copy
3043ebb5 compiler_wrapper: Remove -Wno-compound-token-split-by-space
cf422856 compiler_wrapper: Remove -Wno-array-parameter
43418f57 toolchain_utils: Fix lints in run_tests_for.py
ea8a42a1 toolchain-utils: Replace pipes import
62be7cfe compiler_wrapper: remove custom default c++ std
2a71e5f6 toolchain_utils_githooks: rewrite pip installation logic
Change-Id: Ib6bb58803c2b4daab832402c2ba94637aa12f47f
|
|
For chromeos-chrome builds, we need to remove any unnecessary
{PVR} like info from the build cmd in order for cache hits across
builds.
chromeos-chrome already defines "crash_diagnostics-dir" in such a
manner, but compiler-wrapper adds a duplicate definition of this same
flag but with {PVR} like info.
The fix here is to update compiler-wrapper so that it does not add
"crash-diagnostics-dir" if it is already defined.
BUG=b:326847828
TEST=go test -vet=all (and added more tests)
Change-Id: I81c4dbb29241e85cf78659f35ac9dd93999b6b01
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5321366
Tested-by: Eric Lok <lokeric@google.com>
Commit-Queue: Eric Lok <lokeric@google.com>
Auto-Submit: Eric Lok <lokeric@google.com>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
|
|
At present, we invoke `cros workon` using the `cros-workon` style
syntax. This unfortunately:
1. Is going to be deprecated.
2. Doesn't work outside of the chroot.
3. Assumes you're working on the --host, when in fact you may
not want to workon the host, you may want to workon a board.
This CL changes this behaviour, by not enabling cros workon by
default (warning the user it's not workon-ed), and using the
more modern cros workon syntax.
BUG=None
TEST=llvm_tools/setup_for_workon.py \
--workon-board volteer-scudo \
--package sys-libs/scudo
TEST=llvm_tools/setup_for_workon.py \
--package sys-libs/scudo
Change-Id: I4f65c73ef12e64da973a14ec1ea9b9ea7b70b35f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5321923
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
|
|
Bug: b/287560304
Test: ./patch_manager/utils_unittest.py
Change-Id: I3ce32822029d0760d3909fce2230b471d975d805
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5213948
Tested-by: Zijun Zhao <zijunzhao@google.com>
Auto-Submit: Zijun Zhao <zijunzhao@google.com>
Commit-Queue: Zijun Zhao <zijunzhao@google.com>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
|
|
rust-artifacts no longer exists, so don't try to build it.
BUG=b:297387332
TEST=pgo_rust.py generate
Change-Id: Ifc5d8cd020d5b06eafb84a25dcf2e46277308116
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5301348
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
rust-artifacts no longer exists, so remove the code from rust_uprev
that deals with it. The Manifest that used to live in rust-artifacts
now lives in rust-host, so update rust_uprev accordingly.
BUG=b:297387332
TEST=create a rust uprev with the new code
Change-Id: If0a315d19eac31ce3a7d6b3e309ce2c80e5eff91
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5300550
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
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: Ife77212a517d7ed5ce54415738e81374474a71eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5306972
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
|
|
We have a class of warnings that don't print `,-Werror` in the warning
specification brackets. Those should be handled just as well as the ones
that do.
BUG=b:325463152
TEST=Unittests
Change-Id: I9bd8351a6ff14c6e7820d9992b145d70b0860169
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5299451
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
|
|
Many error messages fron boards will talk about absolute paths, like
/build/atlas/foo/bar/baz.cc. When aggregating errors across many boards,
this can lead to the same warning appearing quite often at paths that
only differ in the board's name.
Allowing translation of `/build/atlas` to `/build/{board}` makes this
easier to deal with.
BUG=b:316172255
TEST=Unittests
Change-Id: I0312b782b6aa4754034236605d1311f51a249216
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5296918
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
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: I8e43f915da44101b5b4a28d9fccb198ecdcac2cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5299664
Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
|
|
This allows us to fetch -Werror logs from CLs, or specific
cq-orchestrator runs. These are unpacked so one can later `analyze`
them.
BUG=b:316172255
TEST=Ran (slightly modified) on a CQ that produced many Clang crash
TEST=artifacts.
Change-Id: Ice9a142a98951d7baf79fd8509b6be0b91c10a19
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5296915
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
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: I5c416f548d5ceeac2834c1f1b5bc2ba47d127131
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5285300
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
|
|
In some places (e.g. rust registry at /home/$USER/.cargo/registry),
the rust-analyzer inside chroot points to /home. This is visible
outside the chroot under "<chromiumos-root>/out/home".
BUG=b:320674356
TEST=manual
Change-Id: I50b4d30d3f3578e8a8ee54c3d98f62fcdd5b183c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5277036
Tested-by: Bastian Kersting <bkersting@google.com>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bastian Kersting <bkersting@google.com>
Reviewed-by: Allen Webb <allenwebb@google.com>
|
|
Apparently I had `__name__ == "__main__"` on my mind when writing this?
:)
BUG=b:323850985
TEST=Ran ./rust_tools/auto_update_rust_bootstrap.py; it printed the
TEST=right `my_dir` value.
Change-Id: I0987cd659489eb0fd525bad0b5b7de5f77292333
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5269401
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Auto-Submit: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
|
|
Currently when trying to open e.g. a standard library type's source
in VSCode, rust-analyzer-chromiumos-wrapper will point to the wrong
path. That is, because inside chroot, rust's sysroot lives under /usr,
while outside of the chroot it usually lives under $HOME/.rustup.
This patch adds the capability for translating these sysroot related
paths accordingly.
BUG=b:324045239, b:320674356
TEST=manual
Change-Id: Id0a01409a8622159cad136485f7b8c077a19fbc6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5272425
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bastian Kersting <bkersting@google.com>
Tested-by: Bastian Kersting <bkersting@google.com>
|
|
Each of these scripts are unrunnable currently, have been unrunnable for
at least 6 months, and have not been updated in years.
BUG=None
TEST=run_tests_for.py llvm_tools/* cros_utils/*
Change-Id: I00da0677699f35e827e899d01372ca1c029aba5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5262987
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
|
|
simpleperf-release
Change-Id: Ied9f25e50c60da2077053ff599873bb16ce7ebed
|
|
These need to be used from internal tooling. Migrate/centralize them
here for convenience.
BUG=b:323522852
TEST=repo upload
Change-Id: I8fb0317fe92773ffacd68daf8d31379155ee2c3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5262323
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Auto-Submit: George Burgess <gbiv@chromium.org>
|
|
auto_update_rust_bootstrap.py writes commit messages using f-strings
and textwrap.dedent. However, dedent only removes whitespace from
the beginning of lines, and the code used line continuations that
cause repeated whitespace inside of lines. This change moves things
around a bit so that messages are formatted as expected.
BUG=None
TEST=Ran the script, checked the resulting commit message.
Change-Id: Ia9ba93b64bcb214d17e90e96567349c3bd7fdeb6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5259243
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
rust_uprev.py contains code that updates the rust-bootstrap ebuild.
This was previously necessary, because, without it, the version of
rust-bootstrap needed to build the other rust packages would not
be available. However, this is no longer true: We now update
rust-bootstrap to the same version as dev-lang/rust and the others,
which means that when we advance the non-bootstrap version, it
will only be one step ahead of rust-bootstrap and therefore work.
auto_update_rust_bootstrap.py will then take care of updating
rust-bootstrap. As a result, we don't need logic for that in
rust_uprev.py anymore, and this change removes it. Some code that
refers to rust-bootstrap is still preserved, namely the code
updates the bootstrap version encoded in cros-rustc.eclass and
the code that verifies that rust-bootstrap sources and prebuilts
are available on the mirror.
BUG=None
TEST=presubmit
Change-Id: I0959bfc6d442467622b0403e6cb975d5b579aad4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5259526
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
rust_uprev handles several ebuilds: dev-lang/rust,
dev-lang/rust-artifacts, dev-lang/rust-host, and
dev-lang/rust-bootstrap. Excepting the last, the script generally
needs to process all of them the same way. Previously, this was done
by repeating code snippets for each package. This change instead
puts designators for the packages to process in a list, then
iterates over that list and runs the same code on each. This makes
it easier to ensure that all packages are indeed processed the same
way, instead of, say, adding code that creates a new ebuild for a
package, but not adding code that removes the old version.
BUG=b:322348600
TEST=presubmit, create a rust uprev with it
Change-Id: Ide5b2dab00e88633c8e5b80c1ee465adee14917b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5255518
Tested-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
|
|
create_ebuild() used to take a path to an ebuild file to copy and a
pkgatom which it would split and use to compute the new ebuild path
from. This change refactors create_ebuild() to take the ebuild's
category and name as separate strings (to avoid having to split
strings), and computes both the path to the source ebuild and the
path to the ebuild to be created (to avoid the inconsistency of
computing one but requiring the other to be passed in). This
refactor will be built upon by an upcoming refactor of
create_rust_uprev(), for which it is convenient not to have to
compute the source ebuild path before calling create_ebuild().
BUG=b:322348600
TEST=presubmit
Change-Id: I000e45423e7e33b110d60bd04a59c9f2863597b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5255378
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
|
|
pgo_rust builds dev-lang/rust and dev-lang/rust-host a couple of
times with different USE flags (instrumented for frontend profiling,
instrumented for LLVM profiling) and generates profile data with each
configuration. However, USE flags are not taken into account when
deciding if dependencies need to be rebuilt. This resulted in
dev-lang/rust-artifacts not being rebuilt with the changed USE flags,
and profiles not being generated correctly. This change explicitly
rebuilds dev-lang/rust-artifacts each time we change the flags, so
that profiles are generated correctly.
BUG=b:322998657
TEST=pgo_rust.py generate; see that profiles are generated successfully
Change-Id: I28265c8d5cf98c4abf751f681e7a361be587359a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5258978
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
|
|
When running equery fails, we currently don't get an error message,
because it is swallowed by subprocess.run. This change makes it so
that the error message is shown on standard error instead.
BUG=None
TEST=made it fail, saw error message
Change-Id: Ib057f3215505d5824593d387c22df5f95b163921
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5259297
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
|
|
update_manifest() takes a path, which we then translate to a package
name, which we then look up in the filesystem to get the path to
the ebuild file. This change removes a level of indirection by
calling ebuild_actions() with the package name directly.
BUG=None
TEST=Create a rust uprev
Change-Id: I1b1651cc7d1fc735c353b55fa28c5766015e4829
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5255377
Tested-by: Bob Haarman <inglorion@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
|
|
BUG=b:322398536
TEST=Unittests
Change-Id: I3ba346dc2e23cbc2876f8f2578048b24da620fb3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5249777
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
This adds support for the JSON bits added in cl/601848281.
BUG=b:322398536
TEST=Unittests
Change-Id: I07b8ebc05dbf8c99d36bb0a014f504d873bd8e6a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5249776
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
|
|
The comment block was missing `Args`. Add it for consistency and added
lint checking.
Slight fixups in bugs_test are due to feedback from `cros lint` on
module importing.
BUG=b:322398536
TEST=None
Change-Id: I09571313fb27e4d5e20ca70a11489ef70da6323a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5249775
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
This change updates the rust-analyzer-chromiumos-wrapper
README file, since it contains outdated information.
BUG=b:320674356
TEST=CQ
Change-Id: Ia9199e968cdfab89a8320e8970d8a5c191117702
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5233611
Commit-Queue: Bastian Kersting <bkersting@google.com>
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Bastian Kersting <bkersting@google.com>
|
|
This adds a script to complement the changes made in
crrev.com/c/5120358. The intent is for devs to run this script prior to
hacking on llvm.
There are no tests in this CL since this script is _mostly_ just a
series of `subprocess.run`s with a tiny bit of intervening logic. It's
also 100% intended for interactive use.
BUG=b:315871489
TEST=Ran the script.
Change-Id: I2d516b22ba7f7d95d3a3666cc2b6ab51810cf7ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5119366
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
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: I57353526b8f113892556bb4f4c07e10ecb42ce00
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5237730
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
|
|
Previously, find_ebuild_for_rust_version() enumerated all versions of
dev-lang/rust, then filtered them to only those that match the specified
version. Instead, call find_ebuild_path(), which finds the requested
version directly and also contains an implementation of the logic
that tests only one version exists and properly accounts for symlinks.
BUG=b:318424456
TEST=presubmit, use the new code to create a rust uprev
Change-Id: Id7a058cb58a94cfa8a208d92ba6fc24b6344a683
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5233111
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
|
|
find_rust_versions() previously returned values for both
rust-x.y.z.ebuild and rust-x.y.z-rn.ebuild if both existed. We commonly
have x.y.z-rn.ebuild be a symlink to x.y.z.ebuild, and the code that
calls find_rust_versions() actually needs only the base file and
will not work correctly if both are returned. This change makes
find_rust_versions() only return non-symlinks and adds documentation
and a test.
BUG=b:318424456
TEST=./rust_tools/rust_uprev_test.py
Change-Id: I18b0795fb93c9a9d5a81424ebaf07ba43476ba3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5233610
Tested-by: Bob Haarman <inglorion@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
|
|
This is a small refactor ahead of a change to the logic. The rewritten
find_rust_versions() returns a list of tuples of (RustVersion, Path)
instead of (RustVersion, str) as before, and updates the call sites
and test to match.
BUG=b:318424456
TEST=presubmit type checks and tests
Change-Id: If5e26ee3c40265031c43fe68d921d43405a44e3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5233609
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
cros lint does not like us to import rust_uprev.RustVersion and wants
us to import only rust_uprev. This change does that.
BUG=None
TEST=presubmit
Change-Id: I8b1b26113b673acdc4c153b9ce0221abf1330f8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5233608
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Tested-by: Bob Haarman <inglorion@chromium.org>
|
|
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: I24075774fe1646895ad7c39fd646f293ef76ddca
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5211566
Tested-by: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Auto-Submit: mobiletc-prebuild Role Account <mobiletc-prebuild@google.com>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
|
|
BUG=None
TEST=CQ
Change-Id: I0c203c05bd39ce6e8f508af311ef10c9db1af8ec
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5214370
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Bastian Kersting <bkersting@google.com>
Commit-Queue: Bastian Kersting <bkersting@google.com>
|
|
Currently rust-analyzer-chromiumos-wrapper is broken, since it
translates Paths in the wrong way.
1. It only replaces paths with the `file://` prefix, which is not
correct for various rust-analyzer specific settings.
2. It wrongfully doesn't replace the rust-analyzer.server.path` setting`
and thus lets the chroot internal rust-analyzer believe in a wrong
server path.
3. It assumes the `rootPath` and `uri` property ends in a `/` while it
actually doesn't.
This CL fixes the issues and together with crrev/c/5210755 (which adds
back a rust-analyzer in chroot) makes using rust-analyzer for chromiumos
development possible again.
BUG=b:320674356
TEST=check out this patch and crrev/c/320674356. Execute `emerge
dev-lang/rust-host`. Install the wrapper using `cargo install --path
src/third_party/toolchain-utils/rust-analyzer-chromiumos-wrapper`.
Then for use with VSCode set the rust-analyzer.server.path setting in
`settings.json` to `$CARGO/bin/rust-analyzer-chromiumos-wrapper`.
After restarting the server, start editing a rust file and it works!
Change-Id: I58bf2fcfb36ce94ceb62a46171c180981b7511f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5212068
Reviewed-by: Allen Webb <allenwebb@google.com>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Bastian Kersting <bkersting@google.com>
Tested-by: Bastian Kersting <bkersting@google.com>
|
|
Jordan commented on this being confusing, and I agree. Refactor this
function to not update a parameter on the fly, and name it more
precisely for what it's trying to do.
BUG=b:319635292
TEST=Unittests
Change-Id: Iee7ec49f909cc593102eb8881d3ea2fda05dc697
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5217602
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Commit-Queue: George Burgess <gbiv@chromium.org>
|
|
This notifies teams when this tool doesn't observe their LLVM revision
moving for a while. The intent isn't to put pressure on LLVM upgrade
rotations; more to catch bugs in this checker earlier rather than later.
BUG=b:319635292
TEST=Unittests
Change-Id: I211b8803f483a96952f5d573bdb083ac723d3ca4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5200618
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
I plan to add more to State in a later CL. It's much easier to modify
State if it's a dataclass than if it's a dict. This also generally helps
with readability.
BUG=b:319635292
TEST=./nightly_revert_checker_test.py
Change-Id: I6b57719239fc6483dbac9c9feb4fd7b25f7cfb3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5200617
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Commit-Queue: George Burgess <gbiv@chromium.org>
|
|
`t.` was written here since there wasn't style guidance on using `from
typing import ...`. Since there's now that guidance, freshen this up.
BUG=b:319635292
TEST=./nightly_revert_checker_test.py
Change-Id: I8211067081bdaa81c2256360736c1d1fd14cc2e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5200616
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
Tested-by: George Burgess <gbiv@chromium.org>
|
|
get_changed_packages was conducting a diff between the
base and the head ref. However, given the head ref could
be very distant from the base, the expected diff
ends up being much larger than the final merged diff.
Instead compare between the base and the new HEAD after
making the squash commit.
Also while we're here, actually compute the valid patch
range and also remove the PatchApplicationError.
Also add --verbose flag for command parsing, so we
can enable the more verbose debugging logs.
BUG=None
TEST=run_tests_for.py llvm_tools/get_patch.py
TEST=llvm_tools/get_patch.py -s HEAD -l ~/llvm-project p:74531
Change-Id: I192295f47172013d75e31768789ace04182850f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5208750
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: Jordan Abrahams-Whitehead <ajordanr@google.com>
Tested-by: Jordan Abrahams-Whitehead <ajordanr@google.com>
|
|
Update amd profile on chromeos-kernel-5.4
Update amd profile on chromeos-kernel-5.10
Update amd profile on chromeos-kernel-5.15
Update arm profile on chromeos-kernel-5.15
BUG=None
TEST=Verified in kernel-release-afdo-verify-orchestrator
Change-Id: Ia1ac7f7baba11797d41ed9512b7b7a93603da44e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5201263
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
|
|
BUG=b:316172272
TEST=None
Change-Id: I0ea0d1f0e6eb72b5b584d9b4adeb605c160300a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5154267
Tested-by: George Burgess <gbiv@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
|
|
BUG=b:316172272
TEST=Ran the script with `--debuginfo`
Change-Id: I1e90028357bc62e54a4ee70e7b825cf82a84e644
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5154135
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
|
|
Checking debuginfo for the Mage's test matrix is very similar in many
ways to checking image sizes. Refactor a bit to take advantage of this.
BUG=b:316172272
TEST=Ran the script.
Change-Id: Idd1dc82a38e2b501d1dfe26bf514904a592f4996
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5154134
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Bob Haarman <inglorion@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
|
|
This is the first "half" of points 3 and 4 in the description of
b/316172255. This is useful on its own, since if a Mage runs a local
`FORCE_DISABLE_WERROR` build, they can point this tool at their build
tree and get a full report of all of the suppressed warnings.
BUG=b:316172255
TEST=Unittests; ran on a few `FORCE_DISABLE_WERROR` trees
Change-Id: I95bfc5de70f8614bf0ae7570fd5ab31766ce405d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5180185
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
|
|
Realistically, adding llvm-next PGO profiles isn't a _difficult_ or
_toilsome_ thing, but it's nice to be able to say "just run this
script." Plus, scraping these links from the ebuild is pretty trivial,
and they're unlikely to change much as time goes on.
BUG=b:315642924
TEST=./update_llvm_manifest.py --llvm-next
Change-Id: I754445fc67474507d92809980da85be20a4d79aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/5170318
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org>
|