aboutsummaryrefslogtreecommitdiff
path: root/rust_tools
AgeCommit message (Collapse)Author
2021-01-06rust_uprev: also uprev rust-bootstrapBob Haarman
Since crrev.com/c/2436432, dev-lang/rust requires dev-lang/rust-bootstrap to build. Because of this, rust uprevs now require that rust-bootstrap be uprevved, too. This CL changes the rust_uprev script to do so. BUG=chromium:1159066 TEST=python3 ./rust_tools/rust_uprev_test.py Change-Id: I48482e780d9ebbc012142687f2edfcc8f83e9d56 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2597493 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-12-16rust_uprev: accept -r* in virtual/rust version numbersBob Haarman
The ebuilds in virtual/rust can have patch (-r123) version numbers, which currently cause rust_uprev to fail. This CL updates rust_uprev to handle those. BUG=chromium:1159066 TEST=python3 ./rust_tools/rust_uprev_test.py Change-Id: I76ccaf553ea192db57e17ff3df9b02eee4105010 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2593514 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-12-16rust_uprev: mark test_success_with_template mock_find_ebuild unusedBob Haarman
Pre-submit checks complained that the mock_find_ebuild parameter to test_success_with_template is unused. This change avoids the warning by prefixing the paramter name with an underscore to indicate that it is unused. BUG=None TEST=python3 ./rust_tools/rust_uprev_test.py Change-Id: Ieadd3854970a1662a74159fd9e492d6ee2f5f963 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2593513 Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Bob Haarman <inglorion@chromium.org>
2020-10-09rust_uprev: emerge rust instead of ebuilding itGeorge Burgess IV
if `ebuild merge` fails, the build directory might not be in a great state where we can skip recompilation when we try again. emerge'ing is probably what we actually want to do here, since that's representative of what builders and users are going to do when they get the new rust uprev. BUG=chromium:1136579, chromium:1112551 TEST=Ran the script Change-Id: I84f12769e32fada3f858a2889f0ead7555b58256 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462928 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-10-09rust_uprev: emerge arm-none-eabi-gcc & do it in parallelGeorge Burgess IV
arm-none-eabi-gcc isn't mentioned in the list of RUSTC_TARGET_TRIPLES, though it's necessary (we check for it in the ebuild) While I'm in the area, if we're unconditionally emerge'ing all of these anyway, do it in parallel. Doing so makes installation take 1/4 as long. BUG=chromium:1136579, chromium:1112551 TEST=Ran the script Change-Id: I49063487b2e2b2c83e2ef30dd8f8904b13c59f38 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462927 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-10-09rust_uprev: check for files in gs:// before downloading themGeorge Burgess IV
I had to `--reset` a few times; downloading these files just to not upload them took a bit, and wasn't useful. This CL adds a check so we don't do that in the future. BUG=chromium:1136579, chromium:1112551 TEST=Ran the script Change-Id: I03f9f21cc07a7b16b540a5be5b4b08e105fc81a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462926 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-10-09rust_uprev: support -rN ebuildsGeorge Burgess IV
rust_uprev currently doesn't fully support ebuilds with -r123 after Rust's version number. This CL aims to help us support those better. BUG=chromium:1136579, chromium:1112551 TEST=Ran the script Change-Id: I22a09ec3f5d074be547783e4cb9b702d4aad0bd2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462925 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-10-08rust_tools: Fix the tool using real Rust uprev experiences.Tiancong Wang
Changes include bugs fixes, support running clean before compile with ebuild command, and upload all tarballs (not just rustc). BUG=chromium:1112551 TEST=unittest Change-Id: I83a6845ba01590ea1319c90ebb427fb48c3da773 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2462042 Reviewed-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>
2020-08-14rust_tools: Provide a big hammer to do everything to uprev RustTiancong Wang
Create a new subcommand that can call both `create` and `remove`, as well as preparing the repo and uploading the CLs. Also update the steps to match the latest changes in UPGRADE.md. BUG=chromium:1112551 TEST=unittest; create an example CL Change-Id: I225d07d3e765daabd6ce8fc29309a5f11ef9cbae Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2355193 Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-08-12rust_tools: Refactor to create and remove Rust versions independentlyTiancong Wang
With this change, a user can run `./rust_uprev.py create` or `./rust_uprev.py remove` to create a new Rust uprev or remove old Rust version independently. Both supports using a state file to save the progress. BUG=chromium:1112551 TEST=unittest;generated a CL locally Change-Id: I8aa629cb56fb6fb79a50c08e11304d0c88515e7f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2350441 Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-08-10rust_tools: Add a tool to automatically generate a Rust uprevTiancong Wang
This is the first pass to add a tool to convert rust upgrade process into a program that can generate CLs autoamatically. The tool is resumable, so when patches fail to apply, the user can fix the patch, resume the tool until no problems exist. The current tool only supports uprev from the earlier Rust ebuild in chroot and will need future passes to add more features. BUG=chromium:1112551 TEST=unittest;generated a CL locally Change-Id: I77fccd14c69548824a8b235d756357aee0c42ef2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2339593 Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-07-24rust_tools: add a monitor for upstream gentoo commits + rust releasesGeorge Burgess IV
Apparently it's useful to watch upstream Gentoo's patches to dev-lang/rust, and it'd be nice in general if we were pinged for new Rust stable releases. This CL adds a tool to handle the alerting of all of that for us. BUG=None TEST=Ran in a few different ways with `--skip_email` Change-Id: Ie972872d597870c715266f88df50812b55e30c75 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2314745 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>