@@ -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,7 +306,7 @@ 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 :
303311 << : *MACOS_TEMPLATE
304312 << : *FLUTTER_UPGRADE_TEMPLATE
@@ -315,6 +323,34 @@ task:
315323 CHANNEL : " master"
316324 CHANNEL : " stable"
317325 << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
326+ # ## macOS desktop tasks ###
327+ - name : macos-platform_tests
328+ env :
329+ matrix :
330+ CHANNEL : " master"
331+ CHANNEL : " stable"
332+ PATH : $PATH:/usr/local/bin
333+ build_script :
334+ - flutter config --enable-macos-desktop
335+ - ./script/tool_runner.sh build-examples --macos
336+ xcode_analyze_script :
337+ - ./script/tool_runner.sh xcode-analyze --macos
338+ xcode_analyze_deprecation_script :
339+ # Ensure we don't accidentally introduce deprecated code.
340+ - ./script/tool_runner.sh xcode-analyze --macos --macos-min-version=12.3
341+ native_test_script :
342+ - ./script/tool_runner.sh native-test --macos
343+ drive_script :
344+ - ./script/tool_runner.sh drive-examples --macos --exclude=script/configs/exclude_integration_macos.yaml
345+
346+ # Intel macOS tasks.
347+ task :
348+ << : *MACOS_INTEL_TEMPLATE
349+ << : *FLUTTER_UPGRADE_TEMPLATE
350+ matrix :
351+ # TODO(stuartmorgan): Swap this and ios-build_all_plugins once simulator
352+ # tests are reliable on the ARM infrastructure. See discussion at
353+ # https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089
318354 - name : ios-platform_tests
319355 env :
320356 PATH : $PATH:/usr/local/bin
@@ -345,6 +381,8 @@ task:
345381 # So we run `drive-examples` after `native-test`; changing the order will result ci failure.
346382 - ./script/tool_runner.sh drive-examples --ios --exclude=script/configs/exclude_integration_ios.yaml
347383 # ## macOS desktop tasks ###
384+ # macos-platform_tests builds all the plugins on M1, so this build is run
385+ # on Intel to give us build coverage of both host types.
348386 - name : macos-build_all_plugins
349387 env :
350388 BUILD_ALL_ARGS : " macos"
@@ -354,21 +392,3 @@ task:
354392 setup_script :
355393 - flutter config --enable-macos-desktop
356394 << : *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