Pull in Rust toolchain via util/bot/DEPS

Use gclient with the condition 'checkout_rust' to pull in the
update_rust.py script from Chromium. Add a hook to run update_rust.py
to download a copy of the Rust toolchain from GCS.

Because update_rust.py depends upon the tools/clang/scripts/update.py
script, this modifies the condition for boringssl/util/bot/tools/clang
to also fetch the clang script whenever we 'checkout_rust' (but it does
not need to actually run tools/clang/scripts/update.py).

Change-Id: I8e10d99ef6bdad04796eff4a0b98fdf5e0e7c6f0
Bug: 42290446
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/80507
Commit-Queue: David Benjamin <davidben@google.com>
Auto-Submit: Lily Chen <chlily@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
This commit is contained in:
Lily Chen
2025-07-18 18:58:11 -04:00
committed by Boringssl LUCI CQ
parent df6e8edbac
commit 17164fff9c
2 changed files with 24 additions and 3 deletions

2
.gitignore vendored
View File

@@ -28,10 +28,10 @@
/util/bot/ninja
/util/bot/perl-win32
/util/bot/qemu-static
/util/bot/rust-toolchain
/util/bot/sde-linux64
/util/bot/sde-linux64.tar.xz
/util/bot/sde-win32
/util/bot/sde-win32.tar.xz
/util/bot/tools
/util/bot/windows_sdk

View File

@@ -21,6 +21,7 @@ vars = {
'checkout_go': True,
'checkout_fuzzer': False,
'checkout_perl': True,
'checkout_rust': False,
'checkout_sde': False,
'checkout_nasm': False,
'checkout_libcxx': False,
@@ -53,7 +54,12 @@ vars = {
# Update to the latest revision of
# https://chromium.googlesource.com/chromium/src/tools/clang
'tools_clang_revision': '222883ecc9931686c1ae27764ef2a66b2d8d7e10',
'tools_clang_revision': '3454fad2d461a3d0ba08a55daede8bc183e403ad',
# Update to the latest revision of
# https://chromium.googlesource.com/chromium/src/tools/rust
# and also ensure that `tools_clang_revision` above is up-to-date.
'tools_rust_revision': '51c21fc75b69394363af6f2796970ea944a7379f',
# The Android NDK cannot be updated until https://crbug.com/42290318 is fixed.
# We rely on an older NDK to test building without NEON instructions as the baseline.
@@ -163,7 +169,13 @@ deps = {
'boringssl/util/bot/tools/clang': {
'url': Var('chromium_git') + '/chromium/src/tools/clang.git' + '@' + Var('tools_clang_revision'),
'condition': 'checkout_clang',
# tools/rust/update_rust.py depends upon tools/clang/scripts/update.py.
'condition': 'checkout_clang or checkout_rust',
},
'boringssl/util/bot/tools/rust': {
'url': Var('chromium_git') + '/chromium/src/tools/rust.git' + '@' + Var('tools_rust_revision'),
'condition': 'checkout_rust',
},
}
@@ -193,6 +205,15 @@ hooks = [
'--output-dir', 'boringssl/util/bot/llvm-build',
],
},
{
'name': 'rust',
'pattern': '.',
'condition': 'checkout_rust',
'action': [ 'python3',
'boringssl/util/bot/tools/rust/update_rust.py',
'--output-dir', 'boringssl/util/bot/rust-toolchain',
],
},
{
'name': 'sde_linux64',
'pattern': '.',