Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit b2009a5

Browse files
[ci] Initial migration to Cirrus Apple silicon (#5794)
1 parent b515201 commit b2009a5

File tree

1 file changed

+48
-24
lines changed

1 file changed

+48
-24
lines changed

.cirrus.yml

Lines changed: 48 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
302310
task:
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

Comments
 (0)