diff --git a/.ci.yaml b/.ci.yaml index 231aae553a0a..b99ed5460056 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -25,6 +25,17 @@ platform_properties: ] device_type: none os: Windows + mac_arm64: + properties: + dependencies: >- + [ + {"dependency": "xcode", "version": "14a5294e"}, + {"dependency": "gems", "version": "v3.3.14"} + ] + os: Mac-12 + device_type: none + cpu: arm64 + xcode: 14a5294e # xcode 14.0 beta 5 mac_x64: properties: dependencies: >- @@ -36,7 +47,7 @@ platform_properties: device_type: none cpu: x86 xcode: 14a5294e # xcode 14.0 beta 5 - + targets: ### iOS+macOS tasks *** @@ -53,7 +64,7 @@ targets: target_file: mac_lint_podspecs.yaml ### macOS desktop tasks ### - # macos-platform_tests builds all the plugins on M1, so this build is run + # macos-platform_tests builds all the plugins on ARM, so this build is run # on Intel to give us build coverage of both host types. - name: Mac_x64 build_all_plugins master recipe: plugins/plugins @@ -73,17 +84,61 @@ targets: target_file: mac_build_all_plugins.yaml channel: stable + - name: Mac_arm64 macos_platform_tests master + bringup: true # New task + recipe: plugins/plugins + timeout: 60 + properties: + channel: master + add_recipes_cq: "true" + version_file: flutter_master.version + target_file: macos_platform_tests.yaml + + - name: Mac_arm64 macos_platform_tests stable + bringup: true # New task + recipe: plugins/plugins + presubmit: false + timeout: 60 + properties: + channel: stable + add_recipes_cq: "true" + version_file: flutter_stable.version + target_file: macos_platform_tests.yaml + ### iOS tasks ### - # TODO(stuartmorgan): Swap this and ios-build_all_plugins once simulator - # tests are reliable on the ARM infrastructure. See discussion at - # https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089 + # TODO(stuartmorgan): Swap the architecture of this and ios_platform_tests_* + # once simulator tests are reliable on the ARM infrastructure. See discussion + # at https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089 + - name: Mac_arm64 ios_build_all_plugins master + bringup: true # New task + recipe: plugins/plugins + timeout: 30 + properties: + channel: master + add_recipes_cq: "true" + version_file: flutter_master.version + target_file: ios_build_all_plugins.yaml + + - name: Mac_arm64 ios_build_all_plugins stable + bringup: true # New task + recipe: plugins/plugins + timeout: 30 + properties: + channel: stable + add_recipes_cq: "true" + version_file: flutter_stable.version + target_file: ios_build_all_plugins.yaml + + # TODO(stuartmorgan): Swap the architecture of this and ios_build_all_plugins + # once simulator tests are reliable on the ARM infrastructure. See discussion + # at https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089 - name: Mac_x64 ios_platform_tests_1_of_4 master recipe: plugins/plugins timeout: 60 properties: add_recipes_cq: "true" version_file: flutter_master.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 0 --shardCount 4" - name: Mac_x64 ios_platform_tests_2_of_4 master @@ -92,7 +147,7 @@ targets: properties: add_recipes_cq: "true" version_file: flutter_master.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 1 --shardCount 4" - name: Mac_x64 ios_platform_tests_3_of_4 master @@ -101,7 +156,7 @@ targets: properties: add_recipes_cq: "true" version_file: flutter_master.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 2 --shardCount 4" - name: Mac_x64 ios_platform_tests_4_of_4 master @@ -110,7 +165,7 @@ targets: properties: add_recipes_cq: "true" version_file: flutter_master.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 3 --shardCount 4" # Don't run full platform tests on both channels in pre-submit. @@ -122,7 +177,7 @@ targets: channel: stable add_recipes_cq: "true" version_file: flutter_stable.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 0 --shardCount 4" - name: Mac_x64 ios_platform_tests_2_of_4 stable @@ -133,7 +188,7 @@ targets: channel: stable add_recipes_cq: "true" version_file: flutter_stable.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 1 --shardCount 4" - name: Mac_x64 ios_platform_tests_3_of_4 stable @@ -144,7 +199,7 @@ targets: channel: stable add_recipes_cq: "true" version_file: flutter_stable.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 2 --shardCount 4" - name: Mac_x64 ios_platform_tests_4_of_4 stable @@ -155,7 +210,7 @@ targets: channel: stable add_recipes_cq: "true" version_file: flutter_stable.version - target_file: mac_ios_platform_tests.yaml + target_file: ios_platform_tests.yaml package_sharding: "--shardIndex 3 --shardCount 4" - name: Windows win32-platform_tests master @@ -190,7 +245,7 @@ targets: timeout: 30 properties: add_recipes_cq: "true" - target_file: build_all_plugins.yaml + target_file: windows_build_all_plugins.yaml channel: master version_file: flutter_master.version dependencies: > @@ -203,7 +258,7 @@ targets: timeout: 30 properties: add_recipes_cq: "true" - target_file: build_all_plugins.yaml + target_file: windows_build_all_plugins.yaml channel: stable version_file: flutter_stable.version dependencies: > diff --git a/.ci/scripts/build_all_plugins.sh b/.ci/scripts/build_all_plugins.sh index 89dab629fd52..c22b9832ff22 100644 --- a/.ci/scripts/build_all_plugins.sh +++ b/.ci/scripts/build_all_plugins.sh @@ -5,5 +5,6 @@ platform="$1" build_mode="$2" +shift 2 cd all_packages -flutter build "$platform" --"$build_mode" +flutter build "$platform" --"$build_mode" "$@" diff --git a/.ci/targets/ios_build_all_plugins.yaml b/.ci/targets/ios_build_all_plugins.yaml new file mode 100644 index 000000000000..7b5b88d9c9ff --- /dev/null +++ b/.ci/targets/ios_build_all_plugins.yaml @@ -0,0 +1,11 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + - name: create all_plugins app + script: .ci/scripts/create_all_plugins_app.sh + - name: build all_plugins for iOS debug + script: .ci/scripts/build_all_plugins.sh + args: ["ios", "debug", "--no-codesign"] + - name: build all_plugins for iOS release + script: .ci/scripts/build_all_plugins.sh + args: ["ios", "release", "--no-codesign"] diff --git a/.ci/targets/mac_ios_platform_tests.yaml b/.ci/targets/ios_platform_tests.yaml similarity index 100% rename from .ci/targets/mac_ios_platform_tests.yaml rename to .ci/targets/ios_platform_tests.yaml diff --git a/.ci/targets/mac_build_all_plugins.yaml b/.ci/targets/mac_build_all_plugins.yaml index 4dd324e8b3f0..e6eb8ac2c315 100644 --- a/.ci/targets/mac_build_all_plugins.yaml +++ b/.ci/targets/mac_build_all_plugins.yaml @@ -3,9 +3,9 @@ tasks: script: .ci/scripts/prepare_tool.sh - name: create all_plugins app script: .ci/scripts/create_all_plugins_app.sh - - name: build all_plugins debug + - name: build all_plugins for macOS debug script: .ci/scripts/build_all_plugins.sh args: ["macos", "debug"] - - name: build all_plugins release + - name: build all_plugins for macOS release script: .ci/scripts/build_all_plugins.sh args: ["macos", "release"] diff --git a/.ci/targets/mac_platform_tests.yaml b/.ci/targets/mac_platform_tests.yaml new file mode 100644 index 000000000000..4b2ee4eac1fe --- /dev/null +++ b/.ci/targets/mac_platform_tests.yaml @@ -0,0 +1,19 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + - name: build examples + script: script/tool_runner.sh + args: ["build-examples", "--macos"] + - name: xcode analyze + script: script/tool_runner.sh + args: ["xcode-analyze", "--macos"] + - name: xcode analyze deprecation + # Ensure we don't accidentally introduce deprecated code. + script: script/tool_runner.sh + args: ["xcode-analyze", "--macos", "--macos-min-version=12.3"] + - name: native test + script: script/tool_runner.sh + args: ["native-test", "--macos"] + - name: drive examples + script: script/tool_runner.sh + args: ["drive-examples", "--macos", "--exclude=script/configs/exclude_integration_macos.yaml"] diff --git a/.ci/targets/build_all_plugins.yaml b/.ci/targets/windows_build_all_plugins.yaml similarity index 76% rename from .ci/targets/build_all_plugins.yaml rename to .ci/targets/windows_build_all_plugins.yaml index 0ffbdfcce376..53d6b99e2444 100644 --- a/.ci/targets/build_all_plugins.yaml +++ b/.ci/targets/windows_build_all_plugins.yaml @@ -3,9 +3,9 @@ tasks: script: .ci/scripts/prepare_tool.sh - name: create all_plugins app script: .ci/scripts/create_all_plugins_app.sh - - name: build all_plugins debug + - name: build all_plugins for Windows debug script: .ci/scripts/build_all_plugins.sh args: ["windows", "debug"] - - name: build all_plugins release + - name: build all_plugins for Windows release script: .ci/scripts/build_all_plugins.sh args: ["windows", "release"]