From 39a6b0f2f72256d16abf73cfaaf1a58e7d6b18ec Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Mon, 31 Jul 2023 14:36:56 -0400 Subject: [PATCH 1/7] Test 21 with existing tasks --- .ci.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci.yaml b/.ci.yaml index 559fcb9f64e..115478085bd 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -312,7 +312,7 @@ targets: package_sharding: "--shardIndex 0 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_2 master @@ -325,7 +325,7 @@ targets: package_sharding: "--shardIndex 1 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_3 master @@ -338,7 +338,7 @@ targets: package_sharding: "--shardIndex 2 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_4 master @@ -351,7 +351,7 @@ targets: package_sharding: "--shardIndex 3 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_5 master @@ -364,7 +364,7 @@ targets: package_sharding: "--shardIndex 4 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_6 master @@ -377,7 +377,7 @@ targets: package_sharding: "--shardIndex 5 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "33"} + {"dependency": "android_virtual_device", "version": "21"} ] - name: Linux_android android_platform_tests_shard_1 stable From e62bc42ffd5ef0dc857456d2c92a88b76d2c39a0 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Tue, 1 Aug 2023 11:15:24 -0400 Subject: [PATCH 2/7] Try 22, which should be available --- .ci.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci.yaml b/.ci.yaml index 115478085bd..be32d9291e6 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -312,7 +312,7 @@ targets: package_sharding: "--shardIndex 0 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_2 master @@ -325,7 +325,7 @@ targets: package_sharding: "--shardIndex 1 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_3 master @@ -338,7 +338,7 @@ targets: package_sharding: "--shardIndex 2 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_4 master @@ -351,7 +351,7 @@ targets: package_sharding: "--shardIndex 3 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_5 master @@ -364,7 +364,7 @@ targets: package_sharding: "--shardIndex 4 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_6 master @@ -377,7 +377,7 @@ targets: package_sharding: "--shardIndex 5 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "21"} + {"dependency": "android_virtual_device", "version": "22"} ] - name: Linux_android android_platform_tests_shard_1 stable From a5c1a48dd74954917d6588f96188a4dcf7831432 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Wed, 18 Oct 2023 12:02:57 -0400 Subject: [PATCH 3/7] Add a new exclusion file and test file --- .ci.yaml | 12 ++++++------ .ci/targets/android_legacy_emulator_tests.yaml | 16 ++++++++++++++++ ...lude_integration_android_legacy_emulator.yaml | 5 +++++ 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 .ci/targets/android_legacy_emulator_tests.yaml create mode 100644 script/configs/exclude_integration_android_legacy_emulator.yaml diff --git a/.ci.yaml b/.ci.yaml index 6a273d4db65..5b2a73844b2 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -315,7 +315,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 0 --shardCount 6" @@ -328,7 +328,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 1 --shardCount 6" @@ -341,7 +341,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 2 --shardCount 6" @@ -354,7 +354,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 3 --shardCount 6" @@ -367,7 +367,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 4 --shardCount 6" @@ -380,7 +380,7 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_platform_tests.yaml + target_file: android_legacy_emulator_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 5 --shardCount 6" diff --git a/.ci/targets/android_legacy_emulator_tests.yaml b/.ci/targets/android_legacy_emulator_tests.yaml new file mode 100644 index 00000000000..06160bfbe84 --- /dev/null +++ b/.ci/targets/android_legacy_emulator_tests.yaml @@ -0,0 +1,16 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + infra_step: true # Note infra steps failing prevents "always" from running. + - name: download Dart and Android deps + script: script/tool_runner.sh + infra_step: true + args: ["fetch-deps", "--android", "--supporting-target-platforms-only", "--exclude=script/configs/exclude_integration_android_legacy_emulator.yaml"] + # Only these two tests are run because they are the only ones that use the + # emulator. Other tests would just duplicate android_platform_test.yaml tests. + - name: native integration tests + script: script/tool_runner.sh + args: ["native-test", "--android", "--no-unit", "--exclude=script/configs/exclude_integration_android_legacy_emulator.yaml"] + - name: drive examples + script: script/tool_runner.sh + args: ["drive-examples", "--android", "--exclude=script/configs/exclude_integration_android_legacy_emulator.yaml,script/configs/exclude_integration_android.yaml,script/configs/exclude_integration_android_emulator.yaml"] diff --git a/script/configs/exclude_integration_android_legacy_emulator.yaml b/script/configs/exclude_integration_android_legacy_emulator.yaml new file mode 100644 index 00000000000..552925975d9 --- /dev/null +++ b/script/configs/exclude_integration_android_legacy_emulator.yaml @@ -0,0 +1,5 @@ +# Tihs plugin no-ops below API 25, which is newer than the legacy emulator. +# This can be removed once the legacy emulator test is using at least +# API level 25. +- quick_actions +- quick_actions_android From 3b8c11535c60b13fc3244d615a497fee769e1911 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Wed, 18 Oct 2023 12:54:34 -0400 Subject: [PATCH 4/7] More exclusions --- .../exclude_integration_android_legacy_emulator.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/script/configs/exclude_integration_android_legacy_emulator.yaml b/script/configs/exclude_integration_android_legacy_emulator.yaml index 552925975d9..6db054a0723 100644 --- a/script/configs/exclude_integration_android_legacy_emulator.yaml +++ b/script/configs/exclude_integration_android_legacy_emulator.yaml @@ -3,3 +3,11 @@ # API level 25. - quick_actions - quick_actions_android +# Fails on the legacy emulator. See https://github.com/flutter/flutter/issues/136823 +# TODO(stuartmorgan): Remove this if the limitation can be worked around. +- video_player +- video_player_android +# Hangs on the legacy emulator. See https://github.com/flutter/flutter/issues/136824 +# TODO(stuartmorgan): Remove this if the hang can be fixed. +- webview_flutter +- webview_flutter_android From a7f5cbe9f63bee20ac26a1ad402d3a7a15cea584 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 19 Oct 2023 12:38:15 -0400 Subject: [PATCH 5/7] Add as actual new tasks --- .ci.yaml | 108 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 96 insertions(+), 12 deletions(-) diff --git a/.ci.yaml b/.ci.yaml index 5b2a73844b2..e6cfc9b4fde 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -315,78 +315,78 @@ targets: recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 0 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_shard_2 master recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 1 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_shard_3 master recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 2 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_shard_4 master recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 3 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_shard_5 master recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 4 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_shard_6 master recipe: packages/packages timeout: 60 properties: - target_file: android_legacy_emulator_tests.yaml + target_file: android_platform_tests.yaml channel: master version_file: flutter_master.version package_sharding: "--shardIndex 5 --shardCount 6" dependencies: >- [ - {"dependency": "android_virtual_device", "version": "22"} + {"dependency": "android_virtual_device", "version": "33"} ] - name: Linux_android android_platform_tests_api_33_shard_1 master @@ -529,6 +529,90 @@ targets: {"dependency": "android_virtual_device", "version": "33"} ] + - name: Linux_android android_platform_tests_legacy_api_shard_1 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 0 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + + - name: Linux_android android_platform_tests_legacy_api_shard_2 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 1 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + + - name: Linux_android android_platform_tests_legacy_api_shard_3 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 2 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + + - name: Linux_android android_platform_tests_legacy_api_shard_4 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 3 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + + - name: Linux_android android_platform_tests_legacy_api_shard_5 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 4 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + + - name: Linux_android android_platform_tests_legacy_api_shard_6 master + recipe: packages/packages + timeout: 60 + bringup: true # New target + properties: + target_file: android_legacy_emulator_tests.yaml + channel: master + version_file: flutter_master.version + package_sharding: "--shardIndex 5 --shardCount 6" + dependencies: >- + [ + {"dependency": "android_virtual_device", "version": "22"} + ] + # Device versions of Android integration tests, run via FTL. # TODO(stuartmorgan): Revisit whether physical device tests are redundant once # we have more data about emulator tests; see From 4c5de9b7f1eb858bf04b4c1bab50a1379d0e00d1 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 19 Oct 2023 12:50:41 -0400 Subject: [PATCH 6/7] Typo fix --- script/configs/exclude_integration_android_legacy_emulator.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/configs/exclude_integration_android_legacy_emulator.yaml b/script/configs/exclude_integration_android_legacy_emulator.yaml index 6db054a0723..9ea107aaf0e 100644 --- a/script/configs/exclude_integration_android_legacy_emulator.yaml +++ b/script/configs/exclude_integration_android_legacy_emulator.yaml @@ -1,4 +1,4 @@ -# Tihs plugin no-ops below API 25, which is newer than the legacy emulator. +# This plugin no-ops below API 25, which is newer than the legacy emulator. # This can be removed once the legacy emulator test is using at least # API level 25. - quick_actions From 997e2a962a619e92a4253d0a33078fb9b13d2f9e Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 19 Oct 2023 13:04:51 -0400 Subject: [PATCH 7/7] Move emulator definition to new base config --- .ci.yaml | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/.ci.yaml b/.ci.yaml index e6cfc9b4fde..2e5d15c976c 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -29,6 +29,18 @@ platform_properties: {"dependency": "open_jdk", "version": "version:17"}, {"dependency": "curl", "version": "version:7.64.0"} ] + linux_android_legacy: + properties: + os: Ubuntu + cores: "8" + device_type: none + dependencies: >- + [ + {"dependency": "android_sdk", "version": "version:33v6"}, + {"dependency": "open_jdk", "version": "version:17"}, + {"dependency": "curl", "version": "version:7.64.0"}, + {"dependency": "android_virtual_device", "version": "22"} + ] linux_desktop: properties: os: Ubuntu @@ -529,7 +541,7 @@ targets: {"dependency": "android_virtual_device", "version": "33"} ] - - name: Linux_android android_platform_tests_legacy_api_shard_1 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_1 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -538,12 +550,8 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 0 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] - - name: Linux_android android_platform_tests_legacy_api_shard_2 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_2 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -552,12 +560,8 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 1 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] - - name: Linux_android android_platform_tests_legacy_api_shard_3 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_3 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -566,12 +570,8 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 2 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] - - name: Linux_android android_platform_tests_legacy_api_shard_4 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_4 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -580,12 +580,8 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 3 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] - - name: Linux_android android_platform_tests_legacy_api_shard_5 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_5 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -594,12 +590,8 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 4 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] - - name: Linux_android android_platform_tests_legacy_api_shard_6 master + - name: linux_android_legacy android_platform_tests_legacy_api_shard_6 master recipe: packages/packages timeout: 60 bringup: true # New target @@ -608,10 +600,6 @@ targets: channel: master version_file: flutter_master.version package_sharding: "--shardIndex 5 --shardCount 6" - dependencies: >- - [ - {"dependency": "android_virtual_device", "version": "22"} - ] # Device versions of Android integration tests, run via FTL. # TODO(stuartmorgan): Revisit whether physical device tests are redundant once