Web subsharding (#112505)
diff --git a/.ci.yaml b/.ci.yaml
index 6999d3b..07bfb46 100644
--- a/.ci.yaml
+++ b/.ci.yaml
@@ -1249,7 +1249,7 @@
{"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
]
shard: web_tool_tests
- subshard: web
+ subshard: "1_1"
tags: >
["framework", "hostonly", "shard", "linux"]
runIf:
@@ -3055,7 +3055,7 @@
{"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
]
shard: web_tool_tests
- subshard: web
+ subshard: "1_1"
tags: >
["framework", "hostonly", "shard", "mac"]
runIf:
@@ -4291,7 +4291,8 @@
- bin/**
- .ci.yaml
- - name: Windows web_tool_tests
+ - name: Windows web_tool_tests_1_2
+ bringup: true
recipe: flutter/flutter_drone
timeout: 60
properties:
@@ -4303,7 +4304,7 @@
{"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
]
shard: web_tool_tests
- subshard: web
+ subshard: "1_2"
tags: >
["framework", "hostonly", "shard", "windows"]
runIf:
@@ -4312,6 +4313,28 @@
- bin/**
- .ci.yaml
+ - name: Windows web_tool_tests_2_2
+ bringup: true
+ recipe: flutter/flutter_drone
+ timeout: 60
+ properties:
+ dependencies: >-
+ [
+ {"dependency": "android_sdk", "version": "version:33v6"},
+ {"dependency": "chrome_and_driver", "version": "version:96.2"},
+ {"dependency": "open_jdk", "version": "version:11"},
+ {"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
+ ]
+ shard: web_tool_tests
+ subshard: "2_2"
+ tags: >
+ ["framework", "hostonly", "shard"]
+ runIf:
+ - dev/**
+ - packages/flutter_tools/**
+ - bin/**
+ - .ci.yaml
+
- name: Windows windows_home_scroll_perf__timeline_summary
recipe: devicelab/devicelab_drone
timeout: 60
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 3934be8..c353e4a 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -429,10 +429,18 @@
}
Future<void> _runWebToolTests() async {
+ final List<File> allFiles = Directory(path.join(_toolsPath, 'test', 'web.shard'))
+ .listSync(recursive: true).whereType<File>().toList();
+ final List<String> allTests = <String>[];
+ for (final File file in allFiles) {
+ if (file.path.endsWith('_test.dart')) {
+ allTests.add(file.path);
+ }
+ }
await _runDartTest(
_toolsPath,
forceSingleCore: true,
- testPaths: <String>[path.join('test', 'web.shard')],
+ testPaths: _selectIndexOfTotalSubshard<String>(allTests),
includeLocalEngineEnv: true,
);
}