Skip to content

Commit f4fa8b7

Browse files
rmacnak-googleCommit Queue
authored andcommitted
[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 <[email protected]> Reviewed-by: Alexander Aprelev <[email protected]>
1 parent 540efbb commit f4fa8b7

File tree

4 files changed

+37
-67
lines changed

4 files changed

+37
-67
lines changed

DEPS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,19 @@ deps = {
470470
'dep_type': 'cipd',
471471
},
472472

473+
# windows-arm64 package is not available, use the windows-x64 package and
474+
# rely on transparent emulation.
475+
Var("dart_root") + '/buildtools/reclient-win': {
476+
'packages': [
477+
{
478+
'package': 'infra/rbe/client/windows-amd64',
479+
'version': Var('reclient_version'),
480+
}
481+
],
482+
'condition': 'host_os == "win"',
483+
'dep_type': 'cipd',
484+
},
485+
473486
Var("dart_root") + "/third_party/webdriver/chrome": {
474487
"packages": [
475488
{
@@ -491,6 +504,9 @@ deps = {
491504
"condition": "host_os != 'win'",
492505
"dep_type": "cipd",
493506
},
507+
508+
# windows-arm64 package is not available, use the windows-x64 package and
509+
# rely on transparent emulation.
494510
Var("dart_root") + "/buildtools/win": {
495511
"packages": [
496512
{

build/toolchain/rbe.gni

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ declare_args() {
2626

2727
rbe_exec_root = rebase_path("//", root_build_dir)
2828

29-
rbe_dir = rebase_path(_dart_root + "/buildtools/reclient", root_build_dir)
29+
if (host_os == "win") {
30+
rbe_dir =
31+
rebase_path(_dart_root + "/buildtools/reclient-win", root_build_dir)
32+
} else {
33+
rbe_dir = rebase_path(_dart_root + "/buildtools/reclient", root_build_dir)
34+
}
3035
}
3136

3237
declare_args() {

tools/bots/test_matrix.json

Lines changed: 11 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,32 +1770,14 @@
17701770
"vm-win-release-arm64"
17711771
],
17721772
"meta": {
1773-
"description": "This configuration is for the ARM64 JIT builders, no shards.",
1774-
"__comment__": "--no-clang because Clang is inconsisent about varargs: dartbug.com/52644"
1773+
"description": "This configuration is for the ARM64 JIT builders, no shards."
17751774
},
17761775
"steps": [
17771776
{
1778-
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
1779-
"script": "tools/build.py",
1780-
"arguments": [
1781-
"--no-clang",
1782-
"gen_snapshot"
1783-
]
1784-
},
1785-
{
1786-
"name": "build dart - step 2 - runtime/bin:dart - divided to avoid timeout",
1787-
"script": "tools/build.py",
1788-
"arguments": [
1789-
"--no-clang",
1790-
"runtime/bin:dart",
1791-
"runtime/bin:run_vm_tests"
1792-
]
1793-
},
1794-
{
1795-
"name": "build dart - step 3 - runtime - divided to avoid timeout",
1777+
"name": "build dart",
17961778
"script": "tools/build.py",
17971779
"arguments": [
1798-
"--no-clang",
1780+
"--rbe",
17991781
"runtime"
18001782
]
18011783
},
@@ -1821,32 +1803,16 @@
18211803
"vm-aot-win-release-arm64"
18221804
],
18231805
"meta": {
1824-
"description": "This configuration is for the ARM64 AOT builders, no shards.",
1825-
"__comment__": "--no-clang because Clang is inconsisent about varargs: dartbug.com/52644"
1806+
"description": "This configuration is for the ARM64 AOT builders, no shards."
18261807
},
18271808
"steps": [
18281809
{
1829-
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
1830-
"script": "tools/build.py",
1831-
"arguments": [
1832-
"--no-clang",
1833-
"gen_snapshot"
1834-
]
1835-
},
1836-
{
1837-
"name": "build dart - step 2 - runtime - divided to avoid timeout",
1838-
"script": "tools/build.py",
1839-
"arguments": [
1840-
"--no-clang",
1841-
"dartaotruntime"
1842-
]
1843-
},
1844-
{
1845-
"name": "build dart - step 3 - runtime/bin:dart - divided to avoid timeout",
1810+
"name": "build dart",
18461811
"script": "tools/build.py",
18471812
"arguments": [
1848-
"--no-clang",
1849-
"runtime"
1813+
"--rbe",
1814+
"runtime",
1815+
"runtime_precompiled"
18501816
]
18511817
},
18521818
{
@@ -3189,32 +3155,12 @@
31893155
]
31903156
},
31913157
{
3192-
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
3193-
"script": "tools/build.py",
3194-
"arguments": [
3195-
"gen_snapshot"
3196-
]
3197-
},
3198-
{
3199-
"name": "build dart - step 2 - runtime/bin:dart - divided to avoid timeout",
3200-
"script": "tools/build.py",
3201-
"arguments": [
3202-
"runtime/bin:dart",
3203-
"runtime/bin:run_vm_tests"
3204-
]
3205-
},
3206-
{
3207-
"name": "build dart - step 3 - runtime - divided to avoid timeout",
3208-
"script": "tools/build.py",
3209-
"arguments": [
3210-
"runtime"
3211-
]
3212-
},
3213-
{
3214-
"name": "build dart - step 4 - sdk, ddc_stable_test - divided to avoid timeout",
3158+
"name": "build dart",
32153159
"script": "tools/build.py",
32163160
"arguments": [
3161+
"--rbe",
32173162
"create_sdk",
3163+
"dartanalyzer",
32183164
"ddc_stable_test"
32193165
]
32203166
},

tools/build.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,10 @@ def UseRBE(out_dir):
134134
def StartRBE(out_dir, env):
135135
global rbe_started, bootstrap_path
136136
if not rbe_started:
137-
rbe_dir = 'buildtools/reclient'
137+
if utils.IsWindows():
138+
rbe_dir = 'buildtools/reclient-win'
139+
else:
140+
rbe_dir = 'buildtools/reclient'
138141
with open(os.path.join(out_dir, 'args.gn'), 'r') as fp:
139142
for line in fp:
140143
if 'rbe_dir' in line:

0 commit comments

Comments
 (0)