diff --git a/.cirrus.yml b/.cirrus.yml index e41540deed..39870aad57 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -238,23 +238,7 @@ task: script: - dart --enable-asserts ./dev/bots/test.dart - - name: hostonly_devicelab_tests-3-linux - environment: - # Some of the host-only devicelab tests are pretty involved and need a lot of RAM. - CPU: 2 - MEMORY: 8G - script: - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-4-linux - environment: - # Some of the host-only devicelab tests are pretty involved and need a lot of RAM. - CPU: 2 - MEMORY: 8G - script: - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-5_last-linux + - name: hostonly_devicelab_tests-3_last-linux environment: # Some of the host-only devicelab tests are pretty involved and need a lot of RAM. CPU: 2 @@ -311,9 +295,7 @@ task: - hostonly_devicelab_tests-0-linux - hostonly_devicelab_tests-1-linux - hostonly_devicelab_tests-2-linux - - hostonly_devicelab_tests-3-linux - - hostonly_devicelab_tests-4-linux - - hostonly_devicelab_tests-5_last-linux + - hostonly_devicelab_tests-3_last-linux - firebase_test_lab_tests-linux environment: # As of October 2019, 1 CPU and 4G of RAM let deploy_gallery-linux finish in about 15 @@ -417,17 +399,7 @@ task: script: - dart --enable-asserts ./dev/bots/test.dart - - name: hostonly_devicelab_tests-3-windows - only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41941 - script: - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-4-windows - only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41941 - script: - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-5_last-windows + - name: hostonly_devicelab_tests-3_last-windows only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41941 script: - dart --enable-asserts ./dev/bots/test.dart @@ -543,19 +515,7 @@ task: - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976 - dart --enable-asserts ./dev/bots/test.dart - - name: hostonly_devicelab_tests-3-macos - only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41940 - script: - - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976 - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-4-macos - only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41940 - script: - - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976 - - dart --enable-asserts ./dev/bots/test.dart - - - name: hostonly_devicelab_tests-5_last-macos + - name: hostonly_devicelab_tests-3_last-macos only_if: "changesInclude('.cirrus.yml', 'dev/**', 'bin/internal/**') || $CIRRUS_PR == ''" # https://github.com/flutter/flutter/issues/41940 script: - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976 @@ -588,9 +548,7 @@ task: - hostonly_devicelab_tests-0-macos - hostonly_devicelab_tests-1-macos - hostonly_devicelab_tests-2-macos - - hostonly_devicelab_tests-3-macos - - hostonly_devicelab_tests-4-macos - - hostonly_devicelab_tests-5_last-macos + - hostonly_devicelab_tests-3_last-macos - firebase_test_lab_tests-linux environment: # Apple Fastlane password. @@ -622,9 +580,7 @@ docker_builder: - hostonly_devicelab_tests-0-linux - hostonly_devicelab_tests-1-linux - hostonly_devicelab_tests-2-linux - - hostonly_devicelab_tests-3-linux - - hostonly_devicelab_tests-4-linux - - hostonly_devicelab_tests-5_last-linux + - hostonly_devicelab_tests-3_last-linux - firebase_test_lab_tests-linux script: - "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_build.sh" diff --git a/dev/bots/test.dart b/dev/bots/test.dart index 542eed74ac..2286ce8b53 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -42,7 +42,7 @@ final bool canUseBuildRunner = Platform.environment['FLUTTER_TEST_NO_BUILD_RUNNE /// /// WARNING: if you change this number, also change .cirrus.yml /// and make sure it runs _all_ shards. -const int kDeviceLabShardCount = 6; +const int kDeviceLabShardCount = 4; /// The number of Cirrus jobs that run Web tests in parallel. /// @@ -735,33 +735,27 @@ Future _runHostOnlyDeviceLabTests() async { // seed is fixed so that issues are reproducible. final List tests = [ // Keep this in alphabetical order. - () => _runDevicelabTest('build_aar_module_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('build_aar_module_test', environment: gradleEnvironment, testEmbeddingV2: false), + () => _runDevicelabTest('build_aar_module_test', environment: gradleEnvironment), if (Platform.isMacOS) () => _runDevicelabTest('flutter_create_offline_test_mac'), if (Platform.isLinux) () => _runDevicelabTest('flutter_create_offline_test_linux'), if (Platform.isWindows) () => _runDevicelabTest('flutter_create_offline_test_windows'), // TODO(ianh): Fails on macOS looking for "dexdump", https://github.com/flutter/flutter/issues/42494 - if (!Platform.isMacOS) () => _runDevicelabTest('gradle_jetifier_test', environment: gradleEnvironment, testEmbeddingV2: false), - if (!Platform.isMacOS) () => _runDevicelabTest('gradle_jetifier_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('gradle_non_android_plugin_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('gradle_non_android_plugin_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('gradle_plugin_bundle_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('gradle_plugin_bundle_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('gradle_plugin_fat_apk_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('gradle_plugin_fat_apk_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('gradle_plugin_light_apk_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('gradle_plugin_light_apk_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('gradle_r8_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('gradle_r8_test', environment: gradleEnvironment, testEmbeddingV2: true), + if (!Platform.isMacOS) () => _runDevicelabTest('gradle_jetifier_test', environment: gradleEnvironment), + () => _runDevicelabTest('gradle_non_android_plugin_test', environment: gradleEnvironment), + () => _runDevicelabTest('gradle_plugin_bundle_test', environment: gradleEnvironment), + () => _runDevicelabTest('gradle_plugin_fat_apk_test', environment: gradleEnvironment), + () => _runDevicelabTest('gradle_plugin_light_apk_test', environment: gradleEnvironment), + () => _runDevicelabTest('gradle_r8_test', environment: gradleEnvironment), + () => _runDevicelabTest('module_host_with_custom_build_test', environment: gradleEnvironment, testEmbeddingV2: false), () => _runDevicelabTest('module_host_with_custom_build_test', environment: gradleEnvironment, testEmbeddingV2: true), - () => _runDevicelabTest('module_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('module_test', environment: gradleEnvironment, testEmbeddingV2: true), + if (!Platform.isMacOS) () => _runDevicelabTest('module_test', environment: gradleEnvironment, testEmbeddingV2: false), + if (!Platform.isMacOS) () => _runDevicelabTest('module_test', environment: gradleEnvironment, testEmbeddingV2: true), + // TODO(jmagman): Re-enable once flakiness is resolved, https://github.com/flutter/flutter/issues/37525 // if (Platform.isMacOS) () => _runDevicelabTest('module_test_ios'), if (Platform.isMacOS) () => _runDevicelabTest('plugin_lint_mac'), - () => _runDevicelabTest('plugin_test', environment: gradleEnvironment, testEmbeddingV2: false), - () => _runDevicelabTest('plugin_test', environment: gradleEnvironment, testEmbeddingV2: true), + () => _runDevicelabTest('plugin_test', environment: gradleEnvironment), ]..shuffle(math.Random(0)); final int testsPerShard = tests.length ~/ kDeviceLabShardCount; @@ -789,6 +783,10 @@ Future _runHostOnlyDeviceLabTests() async { Future _runDevicelabTest(String testName, { Map environment, + // testEmbeddingV2 is only supported by certain specific devicelab tests. + // Don't use it unless you're sure the test actually supports it. + // You can check by looking to see if the test examines the environment + // for the ENABLE_ANDROID_EMBEDDING_V2 variable. bool testEmbeddingV2 = false, }) async { await runCommand(