Files
Lily Chen 739613d2e6 Make checkout_rust in util/bot/DEPS also run hooks for clang
In 17164ff, it was asserted that checkout_rust did not need to actually
run util/bot/tools/clang/scripts/update.py, only to pull in the python
script.

This seems incorect after all, as bindgen must be able to find system
header files which it gets from libclang, so for consistency just run
the clang hook so that those header files are in a predictable location.

Change-Id: Ifc577d2847c5da2aa02f7a49b130243e599cb18c
Bug: 42290446
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/80787
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Auto-Submit: Lily Chen <chlily@google.com>
2025-07-28 05:38:50 -07:00

259 lines
8.3 KiB
Python

# Copyright 2015 The BoringSSL Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
vars = {
'chromium_git': 'https://chromium.googlesource.com',
'checkout_bazel': False,
'checkout_clang': False,
'checkout_cmake': True,
'checkout_go': True,
'checkout_fuzzer': False,
'checkout_perl': True,
'checkout_rust': False,
'checkout_sde': False,
'checkout_nasm': False,
'checkout_libcxx': False,
'checkout_riscv64': False,
# Run the following command to see the latest builds in CIPD:
# cipd describe PACKAGE_NAME -version latest
# infra/3pp/tools/bazel_bootstrap/linux-amd64
# Keep this in sync with .bazelversion.
'bazel_version': 'version:3@7.5.0.chromium.1',
# infra/3pp/tools/cmake/linux-amd64
'cmake_version': 'version:3@3.31.8.chromium.8',
# infra/3pp/tools/go/linux-amd64
'go_version': 'version:3@1.24.4',
# infra/3pp/tools/perl/windows-amd64
'perl_version': 'version:3@5.38.2.2',
# chrome_internal/third_party/sdk/windows, but if an update switches this to a
# new major VS release, keep some bots at the older version.
'windows_sdk_version': 'uploaded:2024-01-11',
# Update the following from
# https://chromium.googlesource.com/chromium/src/+/main/DEPS
'android_sdk_platform-tools_version': 'mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC',
'libfuzzer_revision': 'e31b99917861f891308269c36a32363b120126bb',
'libcxx_revision': 'b5d83e70a1537fbce965e6319877c76794daaa80',
'libcxxabi_revision': '02570151a883c93800bd336774e26d2bad8fee0d',
'llvm_libc_revision': '34e6c8e85a1acd219c32edf0650e2dc47ef95519',
'ninja_version': 'version:2@1.12.1.chromium.4',
# Update to the latest revision of
# https://chromium.googlesource.com/chromium/src/tools/clang
'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.
'android_ndk_revision': 'U0e8L6l52ySjBrUBB82Vdyhsg60vVMqH0ItTW3TRHAQC',
'qemu_static_version': 'gYNEUqCr-Tu1C_vBu68YFtN31hjjLe61dnI2AtuyEsYC',
}
deps = {
'boringssl/util/bot/android_ndk': {
'packages': [{
'package': 'infra/3pp/tools/android_ndk/linux-amd64',
'version': Var('android_ndk_revision'),
}],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'boringssl/util/bot/android_sdk/public': {
'packages': [{
'package': 'chromium/third_party/android_sdk/public/platform-tools',
'version': Var('android_sdk_platform-tools_version'),
}],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'boringssl/util/bot/bazel': {
'packages': [{
'package': 'infra/3pp/tools/bazel_bootstrap/${{platform}}',
'version': Var('bazel_version'),
}],
'condition': 'checkout_bazel',
'dep_type': 'cipd',
},
'boringssl/util/bot/cmake': {
'packages': [{
'package': 'infra/3pp/tools/cmake/${{platform}}',
'version': Var('cmake_version'),
}],
'condition': 'checkout_cmake',
'dep_type': 'cipd',
},
'boringssl/util/bot/golang': {
'packages': [{
'package': 'infra/3pp/tools/go/${{platform}}',
'version': Var('go_version'),
}],
'condition': 'checkout_go',
'dep_type': 'cipd',
},
'boringssl/util/bot/libFuzzer': {
'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git' +'@' + Var('libfuzzer_revision'),
'condition': 'checkout_fuzzer',
},
'boringssl/util/bot/libcxx': {
'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + Var('libcxx_revision'),
'condition': 'checkout_libcxx',
},
'boringssl/util/bot/libcxxabi': {
'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + Var('libcxxabi_revision'),
'condition': 'checkout_libcxx',
},
'boringssl/util/bot/llvm-libc': {
'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libc.git' + '@' + Var('llvm_libc_revision'),
'condition': 'checkout_libcxx',
},
'boringssl/util/bot/ninja': {
'packages': [{
'package': 'infra/3pp/tools/ninja/${{platform}}',
'version': Var('ninja_version'),
}],
'condition': 'checkout_cmake',
'dep_type': 'cipd',
},
'boringssl/util/bot/perl-win32': {
'packages': [{
'package': 'infra/3pp/tools/perl/${{platform}}',
'version': Var('perl_version'),
}],
'condition': 'host_os == "win" and checkout_perl',
'dep_type': 'cipd',
},
'boringssl/util/bot/qemu-static': {
'packages': [{
'package': 'infra/3pp/tools/qemu_static/linux-amd64',
'version': Var('qemu_static_version')
}],
'condition': 'checkout_riscv64',
'dep_type': 'cipd',
},
'boringssl/util/bot/windows_sdk': {
'packages': [{
'package': 'chrome_internal/third_party/sdk/windows',
'version': Var('windows_sdk_version'),
}],
'condition': 'host_os == "win"',
'dep_type': 'cipd',
},
'boringssl/util/bot/tools/clang': {
'url': Var('chromium_git') + '/chromium/src/tools/clang.git' + '@' + Var('tools_clang_revision'),
# 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',
},
}
recursedeps = [
# android_tools pulls in the NDK from a separate repository.
'boringssl/util/bot/android_tools',
]
hooks = [
{
'name': 'nasm_win32',
'pattern': '.',
'condition': 'host_os == "win" and checkout_nasm',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/nasm-win32.exe.sha1',
],
},
{
'name': 'clang',
'pattern': '.',
# bindgen in the packaged rust-toolchain requires packaged clang.
'condition': 'checkout_clang or checkout_rust',
'action': [ 'python3',
'boringssl/util/bot/tools/clang/scripts/update.py',
'--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': '.',
'condition': 'checkout_sde and host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--bucket', 'chrome-boringssl-sde',
'-s', 'boringssl/util/bot/sde-linux64.tar.xz.sha1'
],
},
{
'name': 'sde_linux64_extract',
'pattern': '.',
'condition': 'checkout_sde and host_os == "linux"',
'action': [ 'python3',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/sde-linux64.tar.xz',
'boringssl/util/bot/sde-linux64/',
],
},
{
'name': 'sde_win32',
'pattern': '.',
'condition': 'checkout_sde and host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--bucket', 'chrome-boringssl-sde',
'-s', 'boringssl/util/bot/sde-win32.tar.xz.sha1'
],
},
{
'name': 'sde_win32_extract',
'pattern': '.',
'condition': 'checkout_sde and host_os == "win"',
'action': [ 'python3',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/sde-win32.tar.xz',
'boringssl/util/bot/sde-win32/',
],
},
]