Files
sdk/tools/bots/test_matrix.json
T
Martin Kustermann 3b750c5545 [dart2wasm] Generate *.support.js feature detection files
The file will contain a JS expression that evaluates to a boolean.
If it (at runtime) evalutes to

  * `true` it means that all required features are supported by the JS
    environment and the dart2wasm-compiled app can be used

  * `false` it means some features were not present in the JS
    environment and the dart2wasm-compiled app shouldn't be used,
    instead a dart2js fallback may be used

We introduce this mechanism to allow users, at compilation time, to tell
dart2wasm to take advantage of new spec features and allow the runtime
to self-detect whether they are available and fallback to dart2js if
not.

The first feature we introduce (already in this PR) is
`--require-js-string-builtin` that will tell dart2wasm it can assume the
`js-string` builtin is available (and emit corresponding `*.support.js`
code to detect it).

If the flag was passed, we take advantage of the `js-string` import
mechanism for string constants that doesn't require emitting them in the
mjs file (which significantly reduces code size and improves startup
time - compared with emitting JS strings in the mjs file).

We enable `--require-js-string-builtin` on one CI configuration for
testing that if we don't use any polyfill, the imports of the builtin
functions as well as magical utf8-encoded wasm imports work.

We also use a template mechanism to generate `*.mjs` as the code
becomes more readable (e.g. to conditionally include the js string
polyfill)

Issue https://github.com/dart-lang/sdk/issues/59951

Change-Id: Ic7e7818a2d5269095935022941352beeb9fed731
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/408781
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2025-02-10 06:17:49 -08:00

3709 lines
94 KiB
JSON

{
"branches": [
"main"
],
"filesets": {
"analyzer_unit_tests": [
".dart_tool/package_config.json",
"pkg/",
"third_party/devtools/",
"third_party/pkg/",
"tools/",
"out/ReleaseX64/dart-sdk/",
"xcodebuild/ReleaseX64/dart-sdk/"
],
"js_platform": [
".dart_tool/package_config.json",
"out/ReleaseX64/dart-sdk/",
"out/ReleaseX64/dart2js_platform_unsound.dill",
"out/ReleaseX64/ddc_outline_unsound.dill",
"out/ReleaseX64/gen/utils/ddc/",
"pkg/",
"runtime/tests/",
"sdk/",
"tests/co19/co19-analyzer.status",
"tests/co19/co19-co19.status",
"tests/co19/co19-dart2js.status",
"tests/co19/co19-dart2wasm.status",
"tests/co19/co19-dartdevc.status",
"tests/co19/co19-kernel.status",
"tests/co19/co19-runtime.status",
"tests/corelib/",
"tests/dartdevc/",
"tests/ffi/",
"tests/language/",
"tests/lib/",
"tests/web/",
"third_party/babel/babel.min.js",
"third_party/d8/",
"third_party/pkg/",
"third_party/requirejs/",
"tools/",
"xcodebuild/ReleaseARM64/dart-sdk/",
"xcodebuild/ReleaseARM64/gen/utils/ddc/"
],
"js_platform_hostasserts": [
".dart_tool/package_config.json",
"out/ReleaseX64/dart",
"out/ReleaseX64/dart2js_platform.dill",
"out/ReleaseX64/dart2js_platform_unsound.dill",
"out/ReleaseX64/ddc_outline.dill",
"out/ReleaseX64/gen/utils/ddc/",
"pkg/",
"runtime/tests/",
"sdk/",
"tests/co19/co19-analyzer.status",
"tests/co19/co19-co19.status",
"tests/co19/co19-dart2js.status",
"tests/co19/co19-dart2wasm.status",
"tests/co19/co19-dartdevc.status",
"tests/co19/co19-kernel.status",
"tests/co19/co19-runtime.status",
"tests/corelib/",
"tests/dartdevc/",
"tests/ffi/",
"tests/language/",
"tests/lib/",
"tests/web/",
"third_party/d8/",
"third_party/pkg/",
"third_party/requirejs/",
"tools/"
],
"dart2wasm_hostasserts": [
".dart_tool/package_config.json",
"out/ReleaseX64/dart",
"out/ReleaseX64/dartaotruntime",
"out/ReleaseX64/dart2js_platform.dill",
"out/ReleaseX64/dart2wasm.snapshot",
"out/ReleaseX64/dart2wasm_asserts.snapshot",
"out/ReleaseX64/dart2wasm_outline.dill",
"out/ReleaseX64/dart2wasm_platform.dill",
"out/ReleaseX64/dart2wasm_js_compatibility_outline.dill",
"out/ReleaseX64/dart2wasm_js_compatibility_platform.dill",
"out/ReleaseX64/dart-sdk/",
"out/ReleaseX64/wasm/",
"out/ReleaseX64/wasm-opt",
"pkg/",
"runtime/tests/",
"samples/",
"sdk/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19/co19-analyzer.status",
"tests/co19/co19-co19.status",
"tests/co19/co19-dart2js.status",
"tests/co19/co19-dart2wasm.status",
"tests/co19/co19-dartdevc.status",
"tests/co19/co19-kernel.status",
"tests/co19/co19-runtime.status",
"tests/corelib/",
"tests/web/",
"tests/dartdevc/",
"tests/language/",
"tests/lib/",
"tests/light_unittest.dart",
"tests/search/",
"tests/ffi/",
"third_party/flute/",
"third_party/jsc/",
"third_party/firefox_jsshell/",
"third_party/d8/",
"third_party/pkg/",
"third_party/requirejs/",
"tools/"
],
"front-end": [
".dart_tool/package_config.json",
"out/ReleaseIA32/",
"out/ReleaseX64/",
"pkg/",
"runtime/tests/",
"samples/",
"sdk/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19/co19-analyzer.status",
"tests/co19/co19-co19.status",
"tests/co19/co19-dart2js.status",
"tests/co19/co19-dart2wasm.status",
"tests/co19/co19-dartdevc.status",
"tests/co19/co19-kernel.status",
"tests/co19/co19-runtime.status",
"tests/corelib/",
"tests/web/",
"tests/dartdevc/",
"tests/language/",
"tests/lib/",
"tests/light_unittest.dart",
"tests/search/",
"tests/ffi/",
"third_party/d8/",
"third_party/pkg/",
"third_party/requirejs/",
"tools/",
"xcodebuild/ReleaseIA32/",
"xcodebuild/ReleaseX64/"
],
"fuzzer": [
"runtime/tools/dartfuzz/",
"out/",
"third_party/pkg/",
"tools/sdks/dart-sdk/",
"pkg/",
"runtime/",
"sdk/",
".dart_tool/package_config.json"
],
"vm": [
"benchmarks/",
"out/",
"xcodebuild/",
"pkg/",
"samples/",
"tools/",
"buildtools/linux-arm64/clang/bin/llvm",
"buildtools/linux-arm64/clang/bin/llvm-nm",
"buildtools/linux-arm64/clang/bin/llvm-strip",
"buildtools/linux-arm64/clang/bin/llvm-symbolizer",
"buildtools/linux-x64/clang/bin/llvm",
"buildtools/linux-x64/clang/bin/llvm-nm",
"buildtools/linux-x64/clang/bin/llvm-strip",
"buildtools/linux-x64/clang/bin/llvm-symbolizer",
"buildtools/mac-arm64/clang/bin/llvm",
"buildtools/mac-arm64/clang/bin/llvm-nm",
"buildtools/mac-arm64/clang/bin/llvm-strip",
"buildtools/mac-arm64/clang/bin/llvm-symbolizer",
"buildtools/mac-x64/clang/bin/llvm",
"buildtools/mac-x64/clang/bin/llvm-nm",
"buildtools/mac-x64/clang/bin/llvm-strip",
"buildtools/mac-x64/clang/bin/llvm-symbolizer",
"buildtools/win-x64/clang/bin/llvm-symbolizer.exe",
"third_party/android_tools/sdk/platform-tools/adb",
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/x86_64-unknown-linux-gnu/libc++.so",
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-objcopy",
"third_party/android_tools/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip",
"third_party/devtools/",
"third_party/webdriver/",
"third_party/pkg/",
"tests/.dart_tool/package_config.json",
"tests/angular/",
"tests/co19/co19-analyzer.status",
"tests/co19/co19-co19.status",
"tests/co19/co19-dart2js.status",
"tests/co19/co19-dart2wasm.status",
"tests/co19/co19-dartdevc.status",
"tests/co19/co19-kernel.status",
"tests/co19/co19-runtime.status",
"tests/corelib/",
"tests/web/",
"tests/dartdevc",
"tests/language/",
"tests/lib/",
"tests/light_unittest.dart",
"tests/search/",
"tests/standalone/",
"tests/ffi/",
"pkg/_fe_analyzer_shared/",
"pkg/build_integration/",
"pkg/dart_internal/",
"pkg/dart2native/",
"pkg/dart2js_tools/",
"pkg/dds/",
"pkg/expect/",
"pkg/front_end/",
"pkg/js/",
"pkg/kernel/",
"pkg/meta/",
"pkg/native_stack_traces/",
"pkg/native_assets_builder/",
"pkg/pkg.status",
"pkg/smith/",
"pkg/status_file/",
"pkg/test_runner/",
"pkg/vm/",
"pkg/vm_service/",
"pkg/vm_snapshot_analysis/",
"runtime/",
"sdk/",
".dart_tool/package_config.json"
]
},
"configurations": {
"unittest-(linux|win|mac)": {
"options": {
"compiler": "dartk",
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"unittest-asserts-(debug|product|release)-(linux|mac|win)-(arm64|x64)": {
"options": {
"compiler": "dartk",
"enable-asserts": true,
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"web-dev-unittest-asserts-(linux|win)": {
"options": {
"builder-tag": "ddc",
"compiler": "dartk",
"enable-asserts": true,
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"web-dev-canary-unittest-asserts-linux": {
"options": {
"builder-tag": "ddc-canary",
"compiler": "dartk",
"enable-asserts": true,
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"web-dev-unittest-asserts-mac": {
"options": {
"architecture": "arm64",
"builder-tag": "ddc",
"compiler": "dartk",
"enable-asserts": true,
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"web-unittest-asserts-(linux|mac|win)": {
"options": {
"builder-tag": "web",
"compiler": "dartk",
"enable-asserts": true,
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"web-unittest-asserts-legacy-(linux|mac|win)": {
"options": {
"builder-tag": "web-legacy",
"compiler": "dartk",
"enable-asserts": true,
"mode": "release",
"runtime": "vm",
"timeout": 240,
"use-sdk": true
}
},
"analyzer-unittest-asserts-(debug|product|release)-(linux|mac|win)": {
"options": {
"compiler": "dartk",
"enable-asserts": true,
"runtime": "vm",
"timeout": 240,
"use-sdk": true,
"builder-tag": "analyzer"
}
},
"cfe-unittest-asserts-(debug|product|release)-(linux|mac|win)": {
"options": {
"compiler": "dartk",
"enable-asserts": true,
"runtime": "vm",
"timeout": 240,
"use-sdk": true,
"builder-tag": "cfe"
}
},
"flutter-frontend": {
"__comment__": "This configuration is only used for a custom test runner. If it conflicts with a new configuration you are adding, you can make this configuration more specific by adding options."
},
"vm-ffi-unit-test": {
"__comment__": "This configuration is only used for a custom test runner. If it conflicts with a new configuration you are adding, you can make this configuration more specific by adding options.",
"options": {
"builder-tag": "ffi"
}
},
"vm-(linux|mac|win|android|fuchsia)-(debug|product|release)-(ia32|x64|x64c|arm|arm64|arm64c|simarm|simarm64|simriscv32|simriscv64)": {
"options": {}
},
"vm-checked-(linux|mac|win|fuchsia)-(debug|product|release)-(ia32|x64|x64c|arm64|arm64c|simarm|simarm64|simriscv32|simriscv64)": {
"options": {
"enable-asserts": true
}
},
"vm-aot-(linux|mac)-(debug|product|release)-(x64|x64c|arm64|arm64c)": {
"options": {}
},
"vm-aot-win-(debug|product|release)-(x64|x64c|arm64|arm64c)": {
"options": {
"use-elf": true
}
},
"vm-aot-(linux|mac|win)-(debug|product|release)-(simarm|simarm_x64|simarm64|simriscv32|simriscv64)": {
"options": {
"use-elf": true
}
},
"vm-asan-(linux|mac)-(debug|product|release)-(ia32|x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"vm-lsan-(linux|mac)-(debug|product|release)-(ia32|x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"vm-msan-linux-(debug|product|release)-(x64|arm64|simarm64|simriscv64)": {},
"vm-tsan-(linux|mac)-(debug|product|release)-(x64|arm64|simarm64|simriscv64)": {},
"vm-ubsan-(linux|mac)-(debug|product|release)-(ia32|x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"vm-aot-asan-(linux|mac)-(debug|product|release)-(x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"vm-aot-lsan-(linux|mac)-(debug|product|release)-(x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"vm-aot-msan-linux-(debug|product|release)-(x64|arm64|simarm64|simriscv64)": {},
"vm-aot-tsan-(linux|mac)-(debug|product|release)-(x64|arm64|simarm64|simriscv64)": {},
"vm-aot-ubsan-(linux|mac)-(debug|product|release)-(x64|arm64|simarm|simarm64|simriscv32|simriscv64)": {},
"dart2js-(linux|win)-chrome": {
"options": {
"use-sdk": true
}
},
"dart2js-(linux|win)-firefox": {
"options": {
"use-sdk": true
}
},
"dart2js-win-ie11": {
"options": {
"babel": "{\"presets\":[\"es2015\"]}",
"use-sdk": true
}
},
"dart2js-win-edge": {
"options": {
"use-sdk": true
}
},
"dart2js-mac-(chrome|safari)": {
"options": {
"architecture": "arm64",
"use-sdk": true
}
},
"dart2js-minified-csp-linux-chrome": {
"options": {
"csp": true,
"minified": true,
"use-sdk": true
}
},
"dart2js-minified-linux-d8": {
"options": {
"minified": true,
"use-sdk": true
}
},
"dart2js-production-linux-d8": {
"options": {
"builder-tag": "dart2js_production",
"dart2js-options": [
"-O3"
],
"use-sdk": true
}
},
"dart2js-o0-linux-d8": {
"options": {
"builder-tag": "dart2js_o0",
"dart2js-options": [
"-O0"
],
"use-sdk": true
}
},
"dart2js-canary-linux-(d8|chrome)": {
"options": {
"builder-tag": "dart2js_canary",
"dart2js-options": [
"--canary"
],
"host-asserts": true,
"timeout": 240
}
},
"dart2js-hostasserts-linux-d8": {
"options": {
"host-asserts": true,
"timeout": 240
}
},
"dart2js-hostasserts-linux-(d8|chrome)-unsound": {
"options": {
"builder-tag": "dart2js-weak",
"host-asserts": true,
"nnbd": "weak",
"timeout": 240
}
},
"dart2js-hostasserts-minified-fragments-linux-d8": {
"options": {
"dart2js-options": [
"--merge-fragments-threshold=3",
"--simple-load-ids"
],
"host-asserts": true,
"timeout": 240
}
},
"dart2wasm-asserts-(linux|mac|win)-(d8|jsshell|jsc|chrome|firefox)": {
"options": {
"host-asserts": true,
"enable-asserts": true,
"dart2wasm-options": [
"-O0",
"--extra-compiler-option=--require-js-string-builtin"
],
"timeout": 60
}
},
"dart2wasm-(linux|mac|win)-(d8|jsshell|jsc|chrome|firefox)": {
"options": {
"host-asserts": true,
"dart2wasm-options": [
"-O0"
],
"timeout": 60
}
},
"dart2wasm-(linux|mac|win)-optimized-(d8|jsshell|jsc|chrome|firefox)": {
"options": {
"dart2wasm-options": [
"-O1",
"--no-strip-wasm"
],
"use-sdk": true,
"host-asserts": false,
"timeout": 120
}
},
"dart2wasm-(linux|mac|win)-jscm-(d8|jsshell|jsc|chrome|firefox)": {
"options": {
"dart2wasm-options": [
"-O0",
"--js-compatibility"
],
"host-asserts": true,
"timeout": 60
}
},
"vm-aot-android-(debug|product|release)-arm_x64": {
"options": {
"builder-tag": "crossword",
"use-elf": true
}
},
"vm-aot-android-(debug|product|release)-(ia32|x64|x64c|arm|arm64|arm64c|riscv64)": {
"options": {
"use-elf": true
}
},
"vm-aot-dwarf-linux-(debug|release|product)-x64": {
"options": {
"builder-tag": "dwarf",
"vm-options": [
"--dwarf_stack_traces"
],
"use-elf": true
}
},
"vm-aot-obfuscate-linux-(debug|release|product)-x64": {
"options": {
"builder-tag": "obfuscated",
"vm-options": [
"--obfuscate"
]
}
},
"vm-eager-optimization-(linux|mac|win)-(debug|product|release)-(ia32|x64|x64c|simarm|simarm64|simarm64c|simriscv32|simriscv64)": {
"options": {
"builder-tag": "optimization_counter_threshold",
"vm-options": [
"--optimization_counter_threshold=5",
"--random_seed=__RANDOM__"
]
}
},
"vm-aot-optimization-level-(linux|mac|win)-(debug|product|release)-(x64|x64c|simarm|simarm64|simarm64c|simriscv32|simriscv64)": {
"options": {
"builder-tag": "optimization_level",
"vm-options": [
"--optimization_level=3",
"--random_seed=__RANDOM__"
]
}
},
"vm-reload-(linux|mac|win)-(debug|product|release)-(ia32|x64|x64c)": {
"options": {
"hot-reload": true
}
},
"vm-reload-rollback-(linux|mac|win)-(debug|product|release)-(ia32|x64|x64c)": {
"options": {
"hot-reload-rollback": true
}
},
"vm-linux-(debug|product|release)-(arm|arm64|arm64c|riscv32|riscv64)-qemu": {
"options": {
"use-qemu": true
}
},
"vm-aot-linux-(debug|product|release)-(arm|arm64|arm64c|riscv32|riscv64)-qemu": {
"options": {
"use-qemu": true
}
},
"vm-appjit-(linux|mac|win)-(debug|product|release)-(x64|arm64)": {
"options": {
"compiler": "app_jitk"
}
},
"vm-dyn-(linux|mac|win)-(debug|product|release)-(x64|x64c|simarm|simarm64|simarm64c)": {
"options": {
"compiler": "dart2bytecode"
}
},
"vm-aot-dyn-(linux|mac|win)-(debug|release|product)-(x64|x64c|simarm|simarm64|simarm64c)": {
"options": {
"compiler": "dart2bytecode"
}
},
"ddc-(linux|win)-chrome": {
"options": {
"checked": true,
"use-sdk": true
}
},
"ddc-mac-(chrome|safari)": {
"options": {
"architecture": "arm64",
"checked": true,
"use-sdk": true
}
},
"ddc-linux-firefox": {
"options": {
"checked": true,
"use-sdk": true
}
},
"ddc-linux-chrome-unsound": {
"options": {
"checked": true,
"nnbd": "weak",
"use-sdk": true
}
},
"ddc-canary-linux-chrome": {
"options": {
"builder-tag": "canary",
"checked": true,
"ddc-options": [
"--canary",
"--modules=ddc"
],
"use-sdk": true
}
},
"ddc-canary-linux-chrome-unsound": {
"options": {
"builder-tag": "canary",
"checked": true,
"ddc-options": [
"--canary"
],
"nnbd": "weak",
"use-sdk": true
}
},
"ddc-hostasserts-linux-d8": {
"options": {
"checked": true,
"host-asserts": true,
"use-sdk": false
}
},
"cfe-weak-(linux|mac|win)": {
"options": {
"compiler": "fasta"
}
},
"cfe-strong-(linux|mac|win)": {
"options": {
"compiler": "fasta"
}
},
"analyzer-(linux|win)": {
"options": {
"compiler": "dart2analyzer",
"use-sdk": true
}
},
"analyzer-mac": {
"options": {
"architecture": "arm64",
"compiler": "dart2analyzer",
"use-sdk": true
}
},
"analyzer-asserts-(linux|mac|win)": {
"options": {
"compiler": "dart2analyzer",
"enable-asserts": true,
"use-sdk": true
}
}
},
"builder_configurations": [
{
"builders": [
"front-end-linux-release-x64"
],
"meta": {
"description": "Runs the cfe tests."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"dart2js_bot",
"ddc_stable_test",
"kernel_platform_files",
"runtime"
]
},
{
"name": "front_end unit tests (no git)",
"arguments": [
"-ncfe-unittest-asserts-${mode}-${system}",
"pkg/pkg/(kernel|front_end|frontend_server)\/(*?)(?<!_git)_test"
],
"fileset": "front-end",
"shards": 4
},
{
"name": "front_end unit tests suites (no git)",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"--enable-asserts",
"pkg/front_end/test/unit_test_suites.dart",
"-ncfe-unittest-asserts-${mode}-${system}",
"--skipTestsThatRequireGit"
],
"fileset": "front-end",
"shards": 3
},
{
"name": "front_end coverage",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"--enable-asserts",
"pkg/front_end/test/coverage_suite.dart",
"-ncfe-unittest-asserts-${mode}-${system}"
],
"fileset": "front-end",
"shards": 1
},
{
"name": "front_end unit tests (with git)",
"arguments": [
"-ncfe-unittest-asserts-${mode}-${system}",
"pkg/pkg/(kernel|front_end|frontend_server)\/(*?)(_git)_test"
]
},
{
"name": "front_end unit tests suites (with git)",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"--enable-asserts",
"pkg/front_end/test/unit_test_suites.dart",
"-ncfe-unittest-asserts-${mode}-${system}",
"--onlyTestsThatRequireGit"
]
}
]
},
{
"builders": [
"front-end-nnbd-linux-release-x64",
"front-end-nnbd-mac-release-x64",
"front-end-nnbd-win-release-x64"
],
"meta": {
"description": "Runs the front-end tests with NNBD"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"ddc_stable_test",
"kernel_platform_files",
"runtime"
]
},
{
"name": "front_end weak tests",
"arguments": [
"-ncfe-weak-${system}",
"co19",
"corelib",
"language",
"lib"
],
"fileset": "front-end",
"shards": 2
},
{
"name": "front_end strong tests",
"arguments": [
"-ncfe-strong-${system}",
"co19",
"corelib",
"ffi",
"language",
"lib",
"service"
],
"fileset": "front-end",
"shards": 2
}
]
},
{
"builders": [
"vm-aot-android-release-arm_x64",
"vm-aot-android-release-arm64c"
],
"meta": {
"description": "This configuration is used by the vm precomp builders on Android."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime",
"--os=android"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-android-${mode}-${arch}",
"-j2"
],
"fileset": "vm",
"shards": 15
}
]
},
{
"builders": [
"vm-ffi-android-debug-arm64c",
"vm-ffi-android-debug-arm",
"vm-ffi-android-release-arm64c",
"vm-ffi-android-release-arm",
"vm-ffi-android-product-arm64c",
"vm-ffi-android-product-arm"
],
"meta": {
"description": "This configuration is used for running FFI tests in JIT-mode on Android."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"--os=android"
]
},
{
"name": "vm ffi tests",
"arguments": [
"-nvm-android-${mode}-${arch}",
"ffi"
],
"fileset": "vm",
"shards": 1
}
]
},
{
"builders": [
"vm-ffi-qemu-linux-release-arm"
],
"meta": {
"description": "This configuration is used for running vm unit tests and FFI tests on qemu and FFI unit tests."
},
"steps": [
{
"name": "build run_ffi_unit_tests",
"script": "tools/build.py",
"arguments": [
"--arch=x64",
"--mode=debug",
"run_ffi_unit_tests"
]
},
{
"name": "vm ffi unit tests",
"arguments": [
"-nvm-ffi-unit-test",
"ffi_unit"
]
},
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--use-qemu",
"dartaotruntime",
"runtime"
]
},
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--arch=simarm_x64",
"gen_snapshot"
]
},
{
"name": "vm unit tests",
"arguments": [
"-nvm-linux-${mode}-arm-qemu",
"vm/cc"
]
},
{
"name": "vm jit ffi tests",
"arguments": [
"-nvm-linux-${mode}-arm-qemu",
"ffi"
]
},
{
"name": "vm aot ffi tests",
"arguments": [
"-nvm-aot-linux-${mode}-arm-qemu",
"ffi"
]
}
]
},
{
"builders": [
"vm-ffi-qemu-linux-release-riscv64"
],
"meta": {
"description": "This configuration is used for running vm unit tests and FFI tests on qemu and FFI unit tests."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--use-qemu",
"dartaotruntime",
"runtime"
]
},
{
"name": "vm unit tests",
"arguments": [
"-nvm-linux-${mode}-riscv64-qemu",
"vm/cc"
]
},
{
"name": "vm jit ffi tests",
"arguments": [
"-nvm-linux-${mode}-riscv64-qemu",
"ffi"
]
},
{
"name": "vm aot ffi tests",
"arguments": [
"-nvm-aot-linux-${mode}-riscv64-qemu",
"ffi"
]
}
]
},
{
"builders": [
"vm-linux-debug-x64"
],
"meta": {
"description": "This configuration is used by the VM JIT builders. Includes VM service testing in addtion to legacy Observatory service tests.",
"__comment__": "This configuration should be merged with the other VM JIT builders config once Observatory is removed."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"--default-suites",
"co19",
"pkg/pkg/vm_service/",
"service"
],
"fileset": "vm",
"shards": 16
}
]
},
{
"builders": [
"vm-linux-debug-ia32",
"vm-linux-release-ia32",
"vm-linux-release-x64",
"vm-win-debug-x64",
"vm-win-release-ia32",
"vm-win-release-x64"
],
"meta": {
"description": "This configuration is used by the VM JIT builders. Includes VM service testing.",
"__comment__": "vm-linux-debug-x64 should be added back into this configuration once Observatory is removed."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"--default-suites",
"co19",
"pkg/pkg/vm_service/"
],
"fileset": "vm",
"shards": 16
}
]
},
{
"builders": [
"vm-mac-debug-arm64",
"vm-mac-release-arm64"
],
"meta": {
"description": "This configuration is used by the VM JIT builders on mac arm64. Includes VM service testing and building shared libraries for iOS target."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"--default-suites",
"co19",
"pkg/pkg/vm_service/"
],
"fileset": "vm",
"shards": 16
},
{
"name": "build iOS shared library",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"--os=ios",
"runtime:dart_jit_library"
]
}
]
},
{
"builders": [
"vm-linux-debug-simriscv32",
"vm-linux-debug-simriscv64",
"vm-linux-debug-x64c",
"vm-linux-release-simarm",
"vm-linux-release-simarm64",
"vm-mac-debug-x64",
"vm-mac-release-x64",
"vm-win-debug-x64c"
],
"meta": {
"description": "This configuration is used by the VM JIT builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"--default-suites",
"co19"
],
"fileset": "vm",
"shards": 16
}
]
},
{
"builders": [
"vm-aot-linux-debug-x64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders. Includes VM service testing in addition to legacy Observatory service tests.",
"__comment__": "This configuration should be merged with the other VM AOT builders config below once Observatory is removed."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}",
"--default-suites",
"co19",
"pkg/pkg/vm_service/",
"service"
],
"fileset": "vm",
"shards": 20
}
]
},
{
"builders": [
"vm-aot-linux-release-x64",
"vm-aot-win-release-x64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders. Includes VM service testing.",
"__comment__": "vm-aot-linux-debug-x64 should be added back into this configuration once Observatory is removed."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}",
"--default-suites",
"co19",
"pkg/pkg/vm_service/"
],
"fileset": "vm",
"shards": 20
}
]
},
{
"builders": [
"vm-aot-linux-debug-simriscv32",
"vm-aot-linux-debug-simriscv64",
"vm-aot-linux-debug-x64c",
"vm-aot-linux-product-x64",
"vm-aot-linux-release-simarm64",
"vm-aot-win-debug-x64",
"vm-aot-win-debug-x64c",
"vm-aot-win-product-x64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}",
"--default-suites",
"co19"
],
"fileset": "vm",
"shards": 20
}
]
},
{
"builders": [
"vm-aot-linux-debug-simarm_x64",
"vm-aot-linux-release-simarm_x64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders."
},
"steps": [
{
"name": "build dart for simarm_x64",
"script": "tools/build.py",
"arguments": [
"gen_snapshot",
"vm_platform"
]
},
{
"name": "build dart for simarm",
"script": "tools/build.py",
"arguments": [
"--arch=simarm",
"runtime_precompiled"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 8
}
]
},
{
"builders": [
"vm-aot-mac-release-arm64",
"vm-aot-mac-release-x64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders. Without shards because shards are missing XCode. Includes VM service testing."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}",
"--default-suites",
"pkg/pkg/vm_service/"
]
}
]
},
{
"builders": [
"vm-aot-mac-product-arm64"
],
"meta": {
"description": "This configuration is used by the VM AOT builders. Without shards because shards are missing XCode."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--codesigning-identity=-",
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}"
]
}
]
},
{
"builders": [
"vm-aot-dwarf-linux-product-x64"
],
"meta": {
"description": "This configuration is used by the vm kernel precomp builders with dwarf stack traces."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-dwarf-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"vm-aot-obfuscate-linux-release-x64"
],
"meta": {
"description": "This configuration is used by the obfuscated vm kernel precomp builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dartaotruntime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-obfuscate-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"vm-aot-dyn-linux-debug-x64"
],
"meta": {
"description": "This configuration is used by the dynamic modules VM AOT builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--dart-dynamic-modules",
"runtime",
"runtime_precompiled",
"utils/gen_kernel"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-dyn-${system}-${mode}-${arch}",
"corelib",
"language"
],
"fileset": "vm",
"shards": 5
},
{
"name": "dynamic module tests",
"script": "out/DebugX64/dart",
"testRunner": true,
"arguments": [
"pkg/dynamic_modules/test/runner/main.dart",
"-nvm-aot-dyn-${system}-${mode}-${arch}",
"-raot",
"--verbose"
]
}
]
},
{
"builders": [
"vm-asan-linux-release-x64",
"vm-msan-linux-release-x64",
"vm-tsan-linux-release-x64",
"vm-ubsan-linux-release-x64"
],
"meta": {
"description": "This configuration is used by the VM/JIT builders with sanitizers."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${sanitizer}-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 8
}
]
},
{
"builders": [
"vm-aot-asan-linux-release-x64",
"vm-aot-msan-linux-release-x64",
"vm-aot-tsan-linux-release-x64",
"vm-aot-ubsan-linux-release-x64"
],
"meta": {
"description": "This configuration is used by the VM/AOT builders with sanitizers."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--sanitizer=none,${sanitizer}",
"runtime",
"runtime_precompiled"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${sanitizer}-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 12
}
]
},
{
"builders": [
"vm-asan-linux-release-arm64",
"vm-msan-linux-release-arm64",
"vm-tsan-linux-release-arm64",
"vm-ubsan-linux-release-arm64"
],
"meta": {
"description": "This configuration is used by the ARM64 sanitizers."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"runtime_precompiled"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${sanitizer}-${system}-${mode}-${arch}",
"ffi"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${sanitizer}-${system}-${mode}-${arch}",
"ffi"
]
}
]
},
{
"builders": [
"vm-gcc-linux"
],
"meta": {
"description": "This configuration builds the VM with GCC."
},
"steps": [
{
"name": "build dart debug ia32",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=ia32",
"--no-clang",
"runtime"
]
},
{
"name": "build dart debug x64",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=x64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart debug arm",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=arm",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart debug riscv64",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=riscv64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart release ia32",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=ia32",
"--no-clang",
"runtime"
]
},
{
"name": "build dart release x64",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart release arm",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=arm",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart release riscv64",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=riscv64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
}
]
},
{
"builders": [
"vm-msvc-windows"
],
"meta": {
"description": "This configuration builds the VM with MSVC."
},
"steps": [
{
"name": "build dart debug arm64",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=arm64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart release arm64",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=arm64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart product arm64",
"script": "tools/build.py",
"arguments": [
"--mode=product",
"--arch=arm64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart debug x64",
"script": "tools/build.py",
"arguments": [
"--mode=debug",
"--arch=x64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart release x64",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
},
{
"name": "build dart product x64",
"script": "tools/build.py",
"arguments": [
"--mode=product",
"--arch=x64",
"--no-clang",
"runtime",
"runtime_precompiled"
]
}
]
},
{
"builders": [
"vm-checked-mac-release-arm64"
],
"meta": {
"description": "This configuration is for the VM in checked mode."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-checked-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 4
}
]
},
{
"builders": [
"vm-fuchsia-release-x64"
],
"meta": {
"description": "This configuration is for the VM fuchsia builder."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--os=fuchsia",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"-j4",
"ffi"
]
}
]
},
{
"builders": [
"vm-fuchsia-release-arm64"
],
"meta": {
"description": "This configuration is for the VM fuchsia builder."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--os=fuchsia",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"-j1",
"ffi"
]
}
]
},
{
"builders": [
"vm-linux-release-arm64"
],
"meta": {
"description": "This configuration is for the ARM64 JIT builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 4
}
]
},
{
"builders": [
"vm-aot-linux-release-arm64"
],
"meta": {
"description": "This configuration is for the ARM64 AOT builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"runtime_precompiled"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}"
],
"fileset": "vm",
"shards": 4
}
]
},
{
"builders": [
"vm-win-debug-arm64",
"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"
},
"steps": [
{
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
"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",
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-${system}-${mode}-${arch}",
"corelib",
"ffi",
"lib",
"samples",
"service",
"standalone",
"utils",
"vm"
]
}
]
},
{
"builders": [
"vm-aot-win-debug-arm64",
"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"
},
"steps": [
{
"name": "build dart - step 1 - gen-snapshot - divided to avoid timeout",
"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"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-${system}-${mode}-${arch}",
"corelib",
"ffi",
"lib",
"samples",
"service",
"standalone",
"utils",
"vm"
]
}
]
},
{
"builders": [
"vm-appjit-linux-debug-x64",
"vm-appjit-linux-release-x64",
"vm-appjit-linux-product-x64"
],
"meta": {
"description": "This configuration is used by the VM AppJIT builder group."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-appjit-${system}-${mode}-${arch}"
],
"shards": 6,
"fileset": "vm"
}
]
},
{
"builders": [
"ddc-linux-chrome",
"ddc-win-chrome"
],
"meta": {
"description": "DDC running in Chrome on Linux and Windows."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"dart2js_bot",
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-${system}-chrome",
"co19",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 12,
"fileset": "js_platform"
},
{
"name": "ddc modular tests",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dev_compiler/test/modular_suite.dart",
"-nddc-${system}-chrome",
"--verbose",
"--use-sdk"
]
},
{
"name": "ddc dynamic module tests",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dynamic_modules/test/runner/main.dart",
"-nddc-${system}-chrome",
"-rddc",
"--verbose"
]
},
{
"name": "ddc sourcemap tests",
"script": "out/ReleaseX64/dart",
"arguments": [
"pkg/dev_compiler/test/sourcemap/sourcemaps_suite.dart",
"-rnone"
]
},
{
"name": "ddc sourcemap stacktrace tests",
"script": "out/ReleaseX64/dart",
"arguments": [
"pkg/dev_compiler/test/sourcemap/stacktrace_suite.dart",
"-rnone"
]
},
{
"name": "ddc worker tests",
"script": "out/ReleaseX64/dart",
"arguments": [
"pkg/dev_compiler/test/worker/worker_test.dart",
"-rnone"
]
},
{
"name": "ddc self host test",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"--enable-asserts",
"pkg/dev_compiler/bin/dartdevc.dart",
"--sound-null-safety",
"-o",
"out/ReleaseX64/dartdevc.js",
"pkg/dev_compiler/bin/dartdevc.dart"
]
},
{
"name": "ddc unit tests",
"arguments": [
"-nweb-dev-unittest-asserts-${system}",
"pkg//dev_compiler/"
]
}
]
},
{
"builders": [
"ddc-mac-chrome"
],
"meta": {
"description": "DDC running in Chrome on Mac."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--arch=arm64",
"dart2js_bot",
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-mac-chrome",
"--arch=arm64",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "ddc modular tests",
"script": "xcodebuild/ReleaseARM64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dev_compiler/test/modular_suite.dart",
"-nddc-mac-chrome",
"--verbose",
"--use-sdk"
]
},
{
"name": "ddc sourcemap tests",
"script": "xcodebuild/ReleaseARM64/dart",
"arguments": [
"pkg/dev_compiler/test/sourcemap/sourcemaps_suite.dart",
"-rnone"
]
},
{
"name": "ddc sourcemap stacktrace tests",
"script": "xcodebuild/ReleaseARM64/dart",
"arguments": [
"pkg/dev_compiler/test/sourcemap/stacktrace_suite.dart",
"-rnone"
]
},
{
"name": "ddc worker tests",
"script": "xcodebuild/ReleaseARM64/dart",
"arguments": [
"pkg/dev_compiler/test/worker/worker_test.dart",
"-rnone"
]
},
{
"name": "ddc self host test",
"script": "xcodebuild/ReleaseARM64/dart-sdk/bin/dart",
"arguments": [
"--enable-asserts",
"pkg/dev_compiler/bin/dartdevc.dart",
"--sound-null-safety",
"-o",
"xcodebuild/ReleaseARM64/dartdevc.js",
"pkg/dev_compiler/bin/dartdevc.dart"
]
},
{
"name": "ddc unit tests",
"arguments": [
"-nweb-dev-unittest-asserts-mac",
"pkg//dev_compiler/"
]
}
]
},
{
"builders": [
"ddc-mac-safari"
],
"meta": {
"description": "DDC running in Safari on Mac."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--arch=arm64",
"dart2js_bot",
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-mac-safari",
"--arch=arm64",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "ddc co19 tests",
"arguments": [
"-nddc-mac-safari",
"--arch=arm64",
"co19"
],
"shards": 6,
"fileset": "js_platform"
}
]
},
{
"builders": [
"ddc-linux-firefox"
],
"meta": {
"description": "DDC running in Firefox on Linux ."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"dart2js_bot",
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-${system}-firefox",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "ddc co19 Language tests",
"arguments": [
"-nddc-${system}-firefox",
"co19/Language"
],
"shards": 3,
"fileset": "js_platform"
},
{
"name": "ddc co19 LanguageFeatures tests",
"arguments": [
"-nddc-${system}-firefox",
"co19/LanguageFeatures"
],
"shards": 3,
"fileset": "js_platform"
},
{
"name": "ddc co19 LibTest tests",
"arguments": [
"-nddc-${system}-firefox",
"co19/LibTest"
],
"shards": 3,
"fileset": "js_platform"
},
{
"name": "ddc co19 TypeSystem tests",
"arguments": [
"-nddc-${system}-firefox",
"co19/TypeSystem"
],
"shards": 3,
"fileset": "js_platform"
},
{
"name": "ddc co19 Utils tests",
"arguments": [
"-nddc-${system}-firefox",
"co19/Utils"
],
"shards": 3,
"fileset": "js_platform"
}
]
},
{
"builders": [
"ddc-linux-chrome-unsound"
],
"meta": {
"description": "DDC without sound null safety running in Chrome on Linux."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests unsound",
"arguments": [
"-nddc-linux-chrome-unsound",
"co19",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 12,
"fileset": "js_platform"
}
]
},
{
"builders": [
"ddc-canary-linux-chrome"
],
"meta": {
"description": "DDC in canary mode running in Chrome on Linux."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"ddc_canary_test"
]
},
{
"name": "ddc hot reload tests in d8",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dev_compiler/test/hot_reload_suite.dart",
"-nddc-canary-linux-chrome",
"--verbose"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-canary-linux-chrome",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "ddc co19 tests",
"arguments": [
"-nddc-canary-linux-chrome",
"co19"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "ddc modular tests",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/dev_compiler/test/modular_suite_canary.dart",
"-nddc-canary-linux-chrome",
"--verbose",
"--use-sdk"
]
},
{
"name": "ddc unit tests",
"arguments": [
"-nweb-dev-canary-unittest-asserts-linux",
"pkg//dev_compiler/"
]
}
]
},
{
"builders": [
"ddc-hostasserts-linux-d8"
],
"meta": {
"description": "DDC with assertions during compilation running in d8"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"dart2js_bot",
"ddc_stable_test"
]
},
{
"name": "ddc sdk tests",
"arguments": [
"-nddc-hostasserts-linux-d8",
"co19",
"corelib",
"dartdevc",
"language",
"lib",
"web"
],
"shards": 12,
"fileset": "js_platform_hostasserts"
}
]
},
{
"builders": [
"vm-eager-optimization-linux-release-ia32",
"vm-eager-optimization-linux-release-x64"
],
"meta": {
"description": "This is the configuration for the VM builders with a lower optimization counter threshold."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-eager-optimization-linux-release-${arch}",
"corelib",
"ffi",
"language",
"lib",
"samples",
"standalone",
"utils",
"vm"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"vm-aot-optimization-level-linux-release-x64"
],
"meta": {
"description": "This is the configuration for the VM builders with a more aggressive optimization."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"runtime_precompiled"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-aot-optimization-level-linux-release-${arch}",
"corelib",
"ffi",
"language",
"lib",
"samples",
"standalone",
"utils",
"vm"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"vm-reload-linux-debug-x64",
"vm-reload-linux-release-x64"
],
"meta": {
"description": "This is the configuration for the kernel hot reload builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-reload-${system}-${mode}-${arch}",
"corelib",
"ffi",
"language",
"lib",
"samples",
"standalone",
"utils",
"vm"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"vm-reload-rollback-linux-debug-x64",
"vm-reload-rollback-linux-release-x64"
],
"meta": {
"description": "This is the configuration for kernel reload rollback builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime"
]
},
{
"name": "vm tests",
"arguments": [
"-nvm-reload-rollback-linux-${mode}-${arch}",
"corelib",
"ffi",
"language",
"lib",
"samples",
"standalone",
"utils",
"vm"
],
"fileset": "vm",
"shards": 10
}
]
},
{
"builders": [
"dart2js-canary-linux"
],
"meta": {
"description": "dart2js canary mode tests."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"dart2js_bot"
]
},
{
"name": "dart2js d8 tests",
"arguments": [
"-ndart2js-canary-linux-d8",
"corelib",
"language",
"web"
],
"shards": 6,
"fileset": "js_platform_hostasserts"
},
{
"name": "dart2js chrome tests",
"arguments": [
"-ndart2js-canary-linux-chrome",
"lib",
"web"
],
"shards": 3,
"fileset": "js_platform_hostasserts"
},
{
"name": "dart2js chrome co19 tests",
"arguments": [
"-ndart2js-canary-linux-chrome",
"co19"
],
"shards": 6,
"fileset": "js_platform_hostasserts"
}
]
},
{
"builders": [
"dart2js-unit-linux-x64-release"
],
"meta": {
"description": "Runs the dart2js unit tests."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"dart2js_bot"
]
},
{
"name": "dart2js unit tests",
"arguments": [
"-nweb-unittest-asserts-linux",
"pkg//compiler/"
],
"shards": 4,
"fileset": "js_platform"
},
{
"name": "dart2js modular tests",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"testRunner": true,
"arguments": [
"pkg/compiler/tool/modular_test_suite.dart",
"-nweb-unittest-asserts-linux",
"--verbose",
"--use-sdk"
]
},
{
"name": "js_runtime unit tests",
"arguments": [
"-nweb-unittest-asserts-linux",
"pkg//js_runtime/"
]
}
]
},
{
"builders": [
"dart2js-hostasserts-linux-d8"
],
"meta": {
"description": "dart2js tests with assertions during compilation"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"dart2js_bot"
]
},
{
"name": "dart2js tests",
"arguments": [
"-ndart2js-hostasserts-linux-d8",
"co19",
"corelib",
"language",
"lib",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 13,
"fileset": "js_platform_hostasserts"
}
]
},
{
"builders": [
"dart2js-linux-chrome",
"dart2js-linux-firefox",
"dart2js-win-chrome",
"dart2js-win-firefox"
],
"meta": {
"description": "dart2js browser tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk"
]
},
{
"name": "dart2js tests",
"arguments": [
"-ndart2js-${system}-${runtime}",
"co19",
"corelib",
"language",
"lib",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 12,
"fileset": "js_platform"
}
]
},
{
"builders": [
"dart2js-mac-chrome",
"dart2js-mac-safari"
],
"meta": {
"description": "dart2js browser tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--arch=arm64",
"create_sdk"
]
},
{
"name": "dart2js tests",
"arguments": [
"-ndart2js-${system}-${runtime}",
"--arch=arm64",
"corelib",
"language",
"lib",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "dart2js co19 tests",
"arguments": [
"-ndart2js-${system}-${runtime}",
"--arch=arm64",
"co19"
],
"shards": 6,
"fileset": "js_platform"
}
]
},
{
"builders": [
"dart2js-minified-linux-d8"
],
"meta": {
"description": "dart2js minified d8 tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk"
]
},
{
"name": "dart2js tests",
"arguments": [
"-ndart2js-minified-linux-d8",
"corelib",
"language",
"lib",
"pkg/(dart2js_runtime_metrics|expect|js_ast)",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "dart2js production tests",
"arguments": [
"-ndart2js-production-linux-d8",
"corelib",
"language",
"lib",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 6,
"fileset": "js_platform"
},
{
"name": "dart2js -O0 smoke tests",
"arguments": [
"-ndart2js-o0-linux-d8",
"web"
]
},
{
"name": "dart2js hostasserts fragment merging tests",
"arguments": [
"-ndart2js-hostasserts-minified-fragments-linux-d8",
"web/deferred/"
]
}
]
},
{
"builders": [
"dart2js-minified-csp-linux-chrome"
],
"meta": {
"description": "dart2js tests in csp and minified mode."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk"
]
},
{
"name": "dart2js tests",
"arguments": [
"-ndart2js-minified-csp-linux-chrome",
"corelib",
"language",
"lib",
"observatory_ui",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 6,
"fileset": "js_platform"
}
]
},
{
"builders": [
"dart2js-hostasserts-linux-unsound"
],
"meta": {
"description": "dart2js unsound tests with assertions during compilation"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"dart2js_bot"
]
},
{
"name": "dart2js d8 tests",
"arguments": [
"-ndart2js-hostasserts-linux-d8-unsound",
"corelib",
"language"
],
"shards": 4,
"fileset": "js_platform_hostasserts"
},
{
"name": "dart2js chrome tests",
"arguments": [
"-ndart2js-hostasserts-linux-chrome-unsound",
"co19",
"lib",
"pkg/(dart2js_runtime_metrics|expect)",
"web"
],
"shards": 10,
"fileset": "js_platform_hostasserts"
}
]
},
{
"builders": [
"dart2wasm-asserts-linux-chrome"
],
"meta": {
"description": "dart2wasm tests with assertions enabled"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dart2wasm",
"create_sdk",
"dartaotruntime"
]
},
{
"name": "dart2wasm tests",
"arguments": [
"-ndart2wasm-asserts-linux-${runtime}",
"co19",
"corelib",
"language",
"lib",
"web"
],
"shards": 8,
"fileset": "dart2wasm_hostasserts"
}
]
},
{
"builders": [
"dart2wasm-linux-chrome",
"dart2wasm-linux-d8",
"dart2wasm-linux-firefox"
],
"meta": {
"description": "dart2wasm tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dart2wasm",
"create_sdk",
"dartaotruntime"
]
},
{
"name": "dart2wasm tests",
"arguments": [
"-ndart2wasm-linux-${runtime}",
"co19",
"corelib",
"language",
"lib",
"web"
],
"shards": 8,
"fileset": "dart2wasm_hostasserts"
}
]
},
{
"builders": [
"dart2wasm-linux-optimized-jsc"
],
"meta": {
"description": "dart2wasm tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dart2wasm",
"create_sdk",
"dartaotruntime"
]
},
{
"name": "dart2wasm tests",
"arguments": [
"-ndart2wasm-linux-optimized-${runtime}",
"co19",
"corelib",
"language",
"lib",
"web"
],
"shards": 8,
"fileset": "dart2wasm_hostasserts"
}
]
},
{
"builders": [
"dart2wasm-linux-jscm-chrome"
],
"meta": {
"description": "dart2wasm JS compatibility tests"
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"runtime",
"dart2wasm",
"create_sdk",
"dartaotruntime"
]
},
{
"name": "dart2wasm tests",
"arguments": [
"-ndart2wasm-linux-jscm-${runtime}",
"co19",
"corelib",
"language",
"lib",
"web"
],
"shards": 8,
"fileset": "dart2wasm_hostasserts"
}
]
},
{
"builders": [
"analyzer-linux-release",
"analyzer-mac-release"
],
"meta": {
"description": "This configuration is used by the analyzer builders."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"utils/dartanalyzer"
]
},
{
"name": "unit tests",
"arguments": [
"-nanalyzer-unittest-asserts-${mode}-${system}",
"pkg/(analyzer|analysis_server|analysis_server_plugin|analyzer_cli|analyzer_plugin)"
],
"shards": 9,
"fileset": "analyzer_unit_tests"
},
{
"name": "analyze tests enable-asserts",
"arguments": [
"-nanalyzer-asserts-${system}"
]
},
{
"name": "analyze co19 and pkg tests enable-asserts",
"arguments": [
"-nanalyzer-asserts-${system}",
"co19",
"pkg"
]
}
]
},
{
"builders": [
"analyzer-win-release"
],
"meta": {
"description": "This configuration is used by the analyzer windows builder."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"utils/dartanalyzer"
]
},
{
"name": "analyzer unit tests",
"arguments": [
"-nanalyzer-unittest-asserts-${mode}-${system}",
"pkg/analyzer"
],
"shards": 4,
"fileset": "analyzer_unit_tests"
},
{
"name": "analysis_server unit tests",
"arguments": [
"-nanalyzer-unittest-asserts-${mode}-${system}",
"pkg/analysis_server"
],
"shards": 4,
"fileset": "analyzer_unit_tests"
},
{
"name": "analyze tests enable-asserts",
"arguments": [
"-nanalyzer-asserts-${system}"
]
},
{
"name": "analyze pkg tests enable-asserts",
"arguments": [
"-nanalyzer-asserts-${system}",
"pkg"
]
},
{
"name": "analyzer_cli unit tests",
"arguments": [
"-nanalyzer-unittest-asserts-${mode}-${system}",
"pkg/analyzer_cli"
]
},
{
"name": "analyzer_plugin unit tests",
"arguments": [
"-nanalyzer-unittest-asserts-${mode}-${system}",
"pkg/analyzer_plugin"
]
},
{
"name": "benchmark analysis server",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"pkg/analysis_server/benchmark/perf/benchmark_uploader.dart"
]
}
]
},
{
"builders": [
"analyzer-analysis-server-linux"
],
"meta": {
"description": "Analyze repository packages."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"utils/dartanalyzer"
]
},
{
"name": "analyze runtime/tools/dartfuzz",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"runtime/tools/dartfuzz"
]
},
{
"name": "analyze runtime/tests/concurrency/generate_stress_test.dart",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"runtime/tests/concurrency/generate_stress_test.dart"
]
},
{
"name": "analyze runtime/tests/concurrency/run_stress_test_shards.dart",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"runtime/tests/concurrency/run_stress_test_shards.dart"
]
},
{
"name": "analyze runtime/observatory",
"script": "out/ReleaseX64/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"runtime/observatory"
]
}
]
},
{
"builders": [
"pkg-linux-debug",
"pkg-linux-release",
"pkg-linux-release-arm64",
"pkg-mac-release",
"pkg-mac-release-arm64",
"pkg-win-release"
],
"meta": {
"description": "This configuration is used by the pkg builders."
},
"steps": [
{
"name": "validate pkg/ pubspec files",
"script": "tools/sdks/dart-sdk/bin/dart",
"arguments": [
"tools/package_deps/bin/package_deps.dart"
]
},
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"dartanalyzer",
"ddc_stable_test"
]
},
{
"name": "validate SDK API docs",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"doc",
"--sdk-docs",
"--dry-run",
"--verbose"
]
},
{
"name": "validate SDK API doc code samples",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"tools/verify_docs/bin/verify_docs.dart",
"dart:_http",
"dart:_internal",
"dart:_wasm",
"dart:cli",
"dart:convert",
"dart:developer",
"dart:ffi",
"dart:isolate",
"dart:js",
"dart:js_util",
"dart:math",
"dart:mirrors"
]
},
{
"name": "validate SDK API data-driven fixes",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"fix",
"--suppress-analytics",
"--compare-to-golden",
"tests/lib/fix_data_tests"
]
},
{
"name": "analyze pkg/",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"--fatal-infos",
"pkg"
]
},
{
"name": "third_party tested packages",
"arguments": [
"-nunittest-asserts-${mode}-${system}-${arch}",
"dart_style",
"native_assets_builder",
"native_assets_cli",
"native_toolchain_c",
"package_config",
"pkg/pkg/dartdev/test/native_assets"
]
},
{
"name": "analyze third_party/pkg authored packages",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"--fatal-infos",
"third_party/pkg/dap",
"third_party/pkg/language_server_protocol"
]
},
{
"name": "pub integration tests",
"script": "tools/bots/pub_integration_test.py",
"arguments": [
"--mode=${mode}",
"--arch=${arch}"
]
},
{
"name": "analyze tools/",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"--fatal-infos",
"tools"
]
},
{
"name": "package unit tests",
"arguments": [
"-nunittest-asserts-${mode}-${system}-${arch}",
"pkg/pkg/(?!(analyzer*|analysis_server|analysis_server_plugin|compiler|dev_compiler|js_runtime|front_end|kernel|frontend_server|nnbd_migration|dartdev/test/native_assets|vm_service)/)"
],
"shards": 3,
"fileset": "vm"
}
]
},
{
"builders": [
"pkg-win-release-arm64"
],
"meta": {
"description": "This configuration is used by the pkg builders, no shards."
},
"steps": [
{
"name": "validate pkg/ pubspec files",
"script": "tools/sdks/dart-sdk/bin/dart",
"arguments": [
"tools/package_deps/bin/package_deps.dart"
]
},
{
"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",
"script": "tools/build.py",
"arguments": [
"create_sdk",
"ddc_stable_test"
]
},
{
"name": "validate SDK API docs",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"doc",
"--sdk-docs",
"--dry-run",
"--verbose"
]
},
{
"name": "validate SDK API doc code samples",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"tools/verify_docs/bin/verify_docs.dart",
"dart:_http",
"dart:_internal",
"dart:_wasm",
"dart:cli",
"dart:convert",
"dart:developer",
"dart:ffi",
"dart:isolate",
"dart:js",
"dart:js_util",
"dart:math",
"dart:mirrors"
]
},
{
"name": "validate SDK API data-driven fixes",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"fix",
"--suppress-analytics",
"--compare-to-golden",
"tests/lib/fix_data_tests"
]
},
{
"name": "analyze pkg/",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"--fatal-infos",
"pkg"
]
},
{
"name": "third_party tested packages",
"arguments": [
"-nunittest-asserts-${mode}-${system}-${arch}",
"dart_style",
"native_assets_builder",
"native_assets_cli",
"native_toolchain_c",
"package_config",
"pkg/pkg/dartdev/test/native_assets"
]
},
{
"name": "pub integration tests",
"script": "tools/bots/pub_integration_test.py",
"arguments": [
"--mode=${mode}",
"--arch=${arch}"
]
},
{
"name": "analyze tools/",
"script": "${build_root}/dart-sdk/bin/dart",
"arguments": [
"analyze",
"--suppress-analytics",
"--fatal-infos",
"tools"
]
},
{
"name": "package unit tests",
"arguments": [
"-nunittest-asserts-${mode}-${system}-${arch}",
"pkg/pkg/(?!(analyzer*|analysis_server|analysis_server_plugin|compiler|dev_compiler|js_runtime|front_end|kernel|frontend_server|nnbd_migration|dartdev/test/native_assets|vm_service)/)"
]
}
]
},
{
"builders": [
"benchmark-linux"
],
"meta": {
"description": "Verify benchmarks build and run correctly.",
"owner": "sortie@google.com"
},
"steps": [
{
"name": "see this step for details on what this bot does",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"noop"
]
},
{
"name": "remove out directory to do a clean linux-ia32 build",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"clean"
]
},
{
"name": "build linux-ia32 for benchmarking",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=ia32",
"create_sdk",
"runtime",
"dart2js_platform.dill",
"dart2js_platform_unsound.dill",
"kernel-service.dart.snapshot"
]
},
{
"name": "archive linux-ia32 for benchmarking",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"linux-ia32-archive"
]
},
{
"name": "try linux-ia32 benchmarking",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"linux-ia32-benchmark"
]
},
{
"name": "remove out directory to do a clean linux-x64 build",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"clean"
]
},
{
"name": "build linux-x64 for benchmarking",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"create_sdk",
"runtime",
"gen_snapshot",
"dartaotruntime",
"dart2js_platform.dill",
"dart2js_platform_unsound.dill",
"kernel-service.dart.snapshot",
"ddc_stable_test",
"ddc_canary_test",
"dart2wasm_benchmark"
]
},
{
"name": "archive linux-x64 for benchmarking",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"linux-x64-archive"
]
},
{
"name": "try linux-x64 benchmarking",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"linux-x64-benchmark"
]
},
{
"name": "remove out directory",
"script": "tools/bots/try_benchmarks.sh",
"arguments": [
"clean"
]
}
]
},
{
"builders": [
"flutter-analyze"
],
"meta": {
"description": "This configuration is used for analyzing flutter."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"create_sdk"
]
},
{
"name": "analyze flutter/engine",
"script": "tools/bots/flutter/analyze_flutter_engine.sh"
},
{
"name": "analyze flutter/flutter",
"script": "tools/bots/flutter/analyze_flutter_flutter.sh"
},
{
"name": "analyze flutter/packages",
"script": "tools/bots/flutter/analyze_flutter_packages.sh"
}
]
},
{
"builders": [
"flutter-frontend"
],
"meta": {
"description": "This configuration is used for running frontend tests on flutter code."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"create_sdk"
]
},
{
"name": "compile flutter tests",
"script": "tools/bots/flutter/compile_flutter.sh",
"testRunner": true,
"arguments": [
"-nflutter-frontend"
]
}
]
},
{
"builders": [
"frontend-weekly"
],
"meta": {
"description": "This configuration is used for running slow frontend tests for instance weekly."
},
"steps": [
{
"name": "build dart",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"create_sdk",
"ddc_stable_unsound_sdk",
"dart2js_platform_unsound.dill"
]
},
{
"name": "run tests",
"script": "tools/bots/flutter/compile_flutter.sh",
"arguments": [
"--weeklyTest"
]
}
]
},
{
"builders": [
"fuzz-linux"
],
"meta": {
"description": "This configuration is used for fuzz testing."
},
"steps": [
{
"name": "build dart (x64)",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=x64,x64c",
"runtime",
"dartaotruntime",
"dart2js_platform.dill"
]
},
{
"name": "build dart (arm64)",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=simarm64,simarm64c",
"runtime",
"dartaotruntime"
]
},
{
"name": "build dart (riscv)",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=simriscv32,simriscv64",
"runtime",
"dartaotruntime"
]
},
{
"name": "build dart (ia32)",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=ia32",
"runtime"
]
},
{
"name": "build dart (arm)",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=simarm",
"runtime"
]
},
{
"name": "dartfuzz - generated programs",
"script": "out/ReleaseX64/dart",
"arguments": [
"runtime/tools/dartfuzz/dartfuzz_test.dart",
"--isolates",
"8",
"--no-show-stats",
"--time",
"2700"
],
"shards": 50,
"fileset": "fuzzer"
},
{
"name": "dartfuzz - flags",
"script": "out/ReleaseX64/dart",
"arguments": [
"runtime/tools/dartfuzz/flag_fuzzer.dart"
],
"shards": 50,
"fileset": "fuzzer"
}
]
},
{
"builders": [
"iso-stress-linux"
],
"meta": {
"description": "This configuration is used for isolate stress testing."
},
"steps": [
{
"name": "Build Dart VM - JIT and AOT",
"script": "tools/build.py",
"arguments": [
"--mode=debug,release",
"--arch=x64",
"runtime",
"dartaotruntime"
]
},
{
"name": "Build Dart VM - JIT and AOT (Release TSAN)",
"script": "tools/build.py",
"arguments": [
"--mode=release",
"--arch=x64",
"--sanitizer=tsan",
"runtime",
"dartaotruntime"
]
},
{
"name": "Generate Isolate Stress Test",
"script": "out/ReleaseX64/dart",
"arguments": [
"runtime/tests/concurrency/generate_stress_test.dart"
]
},
{
"name": "Generate Isolate Stress Test - JIT Dill",
"script": "out/ReleaseX64/dart",
"arguments": [
"pkg/vm/bin/gen_kernel.dart",
"--platform=out/ReleaseX64/vm_platform_strong.dill",
"--no-aot",
"-Dtest_runner.configuration=vm-linux-release-x64",
"-o",
"runtime/tests/concurrency/generated_stress_test.dart.jit.dill",
"runtime/tests/concurrency/generated_stress_test.dart"
]
},
{
"name": "Generate Isolate Stress Test - AOT Dill",
"script": "out/ReleaseX64/dart",
"arguments": [
"pkg/vm/bin/gen_kernel.dart",
"--platform=out/ReleaseX64/vm_platform_strong.dill",
"--aot",
"-Dtest_runner.configuration=vm-aot-linux-release-x64",
"-o",
"runtime/tests/concurrency/generated_stress_test.dart.aot.dill",
"runtime/tests/concurrency/generated_stress_test.dart"
]
},
{
"name": "Run Isolate Stress Tests",
"script": "tools/run_with_coredumps_enabled.py",
"arguments": [
"out/ReleaseX64/dart",
"runtime/tests/concurrency/run_stress_test_shards.dart",
"--copy-coredumps"
],
"shards": 10,
"fileset": "vm"
}
]
}
],
"sanitizer_options": {
"ASAN_OPTIONS": "abort_on_error=1:halt_on_error=1:symbolize=1:disable_coredump=0:handle_segv=0",
"LSAN_OPTIONS": "abort_on_error=1:halt_on_error=1:symbolize=1:disable_coredump=0:handle_segv=0",
"MSAN_OPTIONS": "abort_on_error=1:halt_on_error=1:symbolize=1:disable_coredump=0:handle_segv=0",
"TSAN_OPTIONS": "abort_on_error=1:halt_on_error=1:symbolize=1:disable_coredump=0:handle_segv=0:report_thread_leaks=0",
"UBSAN_OPTIONS": "abort_on_error=1:halt_on_error=1:symbolize=1:disable_coredump=0:handle_segv=0:print_stacktrace=1"
},
"sanitizer_symbolizer": {
"linux": "buildtools/linux-x64/clang/bin/llvm-symbolizer",
"macos": "buildtools/mac-x64/clang/bin/llvm-symbolizer",
"windows": "buildtools/win-x64/clang/bin/llvm-symbolizer.exe"
}
}