[infra] Use x64 reclient on Windows ARM64.

Switch build to use Clang. This somewhat degrades FFI testing, but reduces build time by roughly half or one hour.

Cq-Include-Trybots: luci.dart.try:pkg-win-release-arm64-try,vm-aot-win-debug-arm64-try,vm-aot-win-release-arm64-try,vm-win-debug-arm64-try,vm-win-release-arm64-try
Change-Id: Ie267942e99934312b228cfadcd6d5b8477f855c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/429421
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
This commit is contained in:
Ryan Macnak
2025-05-19 17:31:29 -07:00
committed by Commit Queue
parent 540efbbb5d
commit f4fa8b7ca6
4 changed files with 37 additions and 67 deletions
+16
View File
@@ -470,6 +470,19 @@ deps = {
'dep_type': 'cipd',
},
# windows-arm64 package is not available, use the windows-x64 package and
# rely on transparent emulation.
Var("dart_root") + '/buildtools/reclient-win': {
'packages': [
{
'package': 'infra/rbe/client/windows-amd64',
'version': Var('reclient_version'),
}
],
'condition': 'host_os == "win"',
'dep_type': 'cipd',
},
Var("dart_root") + "/third_party/webdriver/chrome": {
"packages": [
{
@@ -491,6 +504,9 @@ deps = {
"condition": "host_os != 'win'",
"dep_type": "cipd",
},
# windows-arm64 package is not available, use the windows-x64 package and
# rely on transparent emulation.
Var("dart_root") + "/buildtools/win": {
"packages": [
{
+6 -1
View File
@@ -26,7 +26,12 @@ declare_args() {
rbe_exec_root = rebase_path("//", root_build_dir)
rbe_dir = rebase_path(_dart_root + "/buildtools/reclient", root_build_dir)
if (host_os == "win") {
rbe_dir =
rebase_path(_dart_root + "/buildtools/reclient-win", root_build_dir)
} else {
rbe_dir = rebase_path(_dart_root + "/buildtools/reclient", root_build_dir)
}
}
declare_args() {
+11 -65
View File
@@ -1770,32 +1770,14 @@
"vm-win-release-arm64"
],
"meta": {
"description": "This configuration is for the ARM64 JIT builders, no shards.",
"__comment__": "--no-clang because Clang is inconsisent about varargs: dartbug.com/52644"
"description": "This configuration is for the ARM64 JIT builders, no shards."
},
"steps": [
{
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"gen_snapshot"
]
},
{
"name": "build dart - step 2 - runtime/bin:dart - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"runtime/bin:dart",
"runtime/bin:run_vm_tests"
]
},
{
"name": "build dart - step 3 - runtime - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"--rbe",
"runtime"
]
},
@@ -1821,32 +1803,16 @@
"vm-aot-win-release-arm64"
],
"meta": {
"description": "This configuration is for the ARM64 AOT builders, no shards.",
"__comment__": "--no-clang because Clang is inconsisent about varargs: dartbug.com/52644"
"description": "This configuration is for the ARM64 AOT builders, no shards."
},
"steps": [
{
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"gen_snapshot"
]
},
{
"name": "build dart - step 2 - runtime - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"dartaotruntime"
]
},
{
"name": "build dart - step 3 - runtime/bin:dart - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"--no-clang",
"runtime"
"--rbe",
"runtime",
"runtime_precompiled"
]
},
{
@@ -3189,32 +3155,12 @@
]
},
{
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"gen_snapshot"
]
},
{
"name": "build dart - step 2 - runtime/bin:dart - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"runtime/bin:dart",
"runtime/bin:run_vm_tests"
]
},
{
"name": "build dart - step 3 - runtime - divided to avoid timeout",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "build dart - step 4 - sdk, ddc_stable_test - divided to avoid timeout",
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--rbe",
"create_sdk",
"dartanalyzer",
"ddc_stable_test"
]
},
+4 -1
View File
@@ -134,7 +134,10 @@ bootstrap_path = None
def StartRBE(out_dir, env):
global rbe_started, bootstrap_path
if not rbe_started:
rbe_dir = 'buildtools/reclient'
if utils.IsWindows():
rbe_dir = 'buildtools/reclient-win'
else:
rbe_dir = 'buildtools/reclient'
with open(os.path.join(out_dir, 'args.gn'), 'r') as fp:
for line in fp:
if 'rbe_dir' in line: