Update tools on CI

Also document in comments why the NDK cannot be updated right now. The
libc++ update requires configuring PSTL. I matched Chromium in
https://chromium-review.googlesource.com/c/chromium/src/+/4864131

Change-Id: Ic374a8a95f9f6f23266704d69c11b835cd718d94
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/63505
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
diff --git a/util/bot/DEPS b/util/bot/DEPS
index 8f5a412..b645ca3 100644
--- a/util/bot/DEPS
+++ b/util/bot/DEPS
@@ -16,6 +16,7 @@
   'chromium_git': 'https://chromium.googlesource.com',
 
   'checkout_clang': False,
+  'checkout_fuzzer': False,
   'checkout_sde': False,
   'checkout_nasm': False,
   'checkout_libcxx': False,
@@ -25,20 +26,30 @@
   #  cipd describe PACKAGE_NAME -version latest
 
   # infra/3pp/tools/cmake/linux-amd64
-  'cmake_version': 'version:2@3.26.4.chromium.7',
+  'cmake_version': 'version:2@3.27.7.chromium.8',
   # infra/3pp/tools/go/linux-amd64
-  'go_version': 'version:2@1.20.5',
+  'go_version': 'version:2@1.21.2',
   # infra/3pp/tools/perl/windows-amd64
   'perl_version': 'version:2@5.32.1.1',
 
   # Update the following from
   # https://chromium.googlesource.com/chromium/src/+/main/DEPS
-  'android_sdk_platform-tools_version': 'RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C',
-  'android_ndk_revision': '310956bd122ec2b96049f8d7398de6b717f3452e',
-  'libfuzzer_revision': 'debe7d2d1982e540fbd6bd78604bf001753f9e74',
-  'libcxx_revision': 'f8279b01085b800724f5c5629dc365b9f040dc53',
-  'libcxxabi_revision': '899caea3814eeb45c689fc206052968943fd5cb8',
+  'android_sdk_platform-tools_version': 'HWVsGs2HCKgSVv41FsOcsfJbNcB0UFiNrF6Tc4yRArYC',
+  'libfuzzer_revision': '758bd21f103a501b362b1ca46fa8fcb692eaa303',
+  'libcxx_revision': '8fc17971d629c19a17b006d0c4fc41e721cc2f7f',
+  'libcxxabi_revision': 'db9800c042df3ee2691031a58b5e37e89a7356a3',
   'ninja_version': 'version:2@1.11.1.chromium.6',
+
+  # The Android NDK cannot be updated on CI for two reasons:
+  #
+  # Until https://crbug.com/boringssl/454 is fixed, we rely on an older NDK to
+  # test building without NEON instructions as the baseline.
+  #
+  # Until https://crbug.com/boringssl/653 is fixed, we cannot update past
+  # Chromium's version:2@r25c.cr0 package. Chromium has since switched building
+  # minimal CIPD packages which do not contain all the NDK files we need. We'll
+  # probably need to make our own NDK package.
+  'android_ndk_revision': '310956bd122ec2b96049f8d7398de6b717f3452e',
 }
 
 deps = {
@@ -82,7 +93,7 @@
   },
 
   'boringssl/util/bot/libFuzzer': {
-    'url': Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' +'@' + Var('libfuzzer_revision'),
+    'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git' +'@' + Var('libfuzzer_revision'),
     'condition': 'checkout_fuzzer',
   },
 
diff --git a/util/bot/libcxx-config/__config_site b/util/bot/libcxx-config/__config_site
index f1feeab..eb16b9d 100644
--- a/util/bot/libcxx-config/__config_site
+++ b/util/bot/libcxx-config/__config_site
@@ -3,4 +3,10 @@
 
 #define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
 
+#if defined(__APPLE__)
+#define _LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH
+#else
+#define _LIBCPP_PSTL_CPU_BACKEND_THREAD
+#endif
+
 #endif  // BORINGSSL_LIBCXX_CONFIG_SITE_
diff --git a/util/bot/update_clang.py b/util/bot/update_clang.py
index d0b188a..96066f0 100644
--- a/util/bot/update_clang.py
+++ b/util/bot/update_clang.py
@@ -29,8 +29,8 @@
 # CLANG_REVISION and CLANG_SUB_REVISION determine the build of clang
 # to use. These should be synced with tools/clang/scripts/update.py in
 # Chromium.
-CLANG_REVISION = 'llvmorg-17-init-12166-g7586aeab'
-CLANG_SUB_REVISION = 3
+CLANG_REVISION = 'llvmorg-18-init-7785-geef35c28'
+CLANG_SUB_REVISION = 1
 
 PACKAGE_VERSION = '%s-%s' % (CLANG_REVISION, CLANG_SUB_REVISION)