@@ -57,9 +57,17 @@ macos_template: &MACOS_TEMPLATE
5757 # Only one macOS task can run in parallel without credits, so use them for
5858 # PRs on macOS.
5959 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
60+
61+ macos_intel_template : &MACOS_INTEL_TEMPLATE
62+ << : *MACOS_TEMPLATE
6063 osx_instance :
6164 image : big-sur-xcode-13
6265
66+ macos_arm_template : &MACOS_ARM_TEMPLATE
67+ << : *MACOS_TEMPLATE
68+ macos_instance :
69+ image : ghcr.io/cirruslabs/macos-monterey-xcode:13.4
70+
6371# Light-workload Linux tasks.
6472# These use default machines, with fewer CPUs, to reduce pressure on the
6573# concurrency limits.
@@ -298,15 +306,11 @@ task:
298306 drive_script :
299307 - ./script/tool_runner.sh drive-examples --web --exclude=script/configs/exclude_integration_web.yaml
300308
301- # macOS tasks.
309+ # ARM macOS tasks.
302310task :
303- << : *MACOS_TEMPLATE
311+ << : *MACOS_ARM_TEMPLATE
304312 << : *FLUTTER_UPGRADE_TEMPLATE
305313 matrix :
306- # ## iOS+macOS tasks ***
307- - name : darwin-lint_podspecs
308- script :
309- - ./script/tool_runner.sh podspecs
310314 # ## iOS tasks ###
311315 - name : ios-build_all_plugins
312316 env :
@@ -315,6 +319,42 @@ task:
315319 CHANNEL : " master"
316320 CHANNEL : " stable"
317321 << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
322+ # ## macOS desktop tasks ###
323+ - name : macos-platform_tests
324+ env :
325+ matrix :
326+ CHANNEL : " master"
327+ CHANNEL : " stable"
328+ PATH : $PATH:/usr/local/bin
329+ build_script :
330+ - flutter config --enable-macos-desktop
331+ - ./script/tool_runner.sh build-examples --macos
332+ xcode_analyze_script :
333+ - ./script/tool_runner.sh xcode-analyze --macos
334+ xcode_analyze_deprecation_script :
335+ # Ensure we don't accidentally introduce deprecated code.
336+ - ./script/tool_runner.sh xcode-analyze --macos --macos-min-version=12.3
337+ native_test_script :
338+ - ./script/tool_runner.sh native-test --macos
339+ drive_script :
340+ - ./script/tool_runner.sh drive-examples --macos --exclude=script/configs/exclude_integration_macos.yaml
341+
342+ # Intel macOS tasks.
343+ task :
344+ << : *MACOS_INTEL_TEMPLATE
345+ << : *FLUTTER_UPGRADE_TEMPLATE
346+ matrix :
347+ # ## iOS+macOS tasks ***
348+ # TODO(stuartmorgan): Move this to ARM once google_maps_flutter has ARM
349+ # support. `pod lint` makes a synthetic target that doesn't respect the
350+ # pod's arch exclusions, so fails to build.
351+ - name : darwin-lint_podspecs
352+ script :
353+ - ./script/tool_runner.sh podspecs
354+ # ## iOS tasks ###
355+ # TODO(stuartmorgan): Swap this and ios-build_all_plugins once simulator
356+ # tests are reliable on the ARM infrastructure. See discussion at
357+ # https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089
318358 - name : ios-platform_tests
319359 env :
320360 PATH : $PATH:/usr/local/bin
@@ -345,6 +385,8 @@ task:
345385 # So we run `drive-examples` after `native-test`; changing the order will result ci failure.
346386 - ./script/tool_runner.sh drive-examples --ios --exclude=script/configs/exclude_integration_ios.yaml
347387 # ## macOS desktop tasks ###
388+ # macos-platform_tests builds all the plugins on M1, so this build is run
389+ # on Intel to give us build coverage of both host types.
348390 - name : macos-build_all_plugins
349391 env :
350392 BUILD_ALL_ARGS : " macos"
@@ -354,21 +396,3 @@ task:
354396 setup_script :
355397 - flutter config --enable-macos-desktop
356398 << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
357- - name : macos-platform_tests
358- env :
359- matrix :
360- CHANNEL : " master"
361- CHANNEL : " stable"
362- PATH : $PATH:/usr/local/bin
363- build_script :
364- - flutter config --enable-macos-desktop
365- - ./script/tool_runner.sh build-examples --macos
366- xcode_analyze_script :
367- - ./script/tool_runner.sh xcode-analyze --macos
368- xcode_analyze_deprecation_script :
369- # Ensure we don't accidentally introduce deprecated code.
370- - ./script/tool_runner.sh xcode-analyze --macos --macos-min-version=12.3
371- native_test_script :
372- - ./script/tool_runner.sh native-test --macos
373- drive_script :
374- - ./script/tool_runner.sh drive-examples --macos --exclude=script/configs/exclude_integration_macos.yaml
0 commit comments