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

Commit 8f12b27

Browse files
[ci] Add LUCI versions of macOS ARM tests (#6984)
Adds a macOS arm64 configuration, and adds LUCI versions of the remaining Cirrus macOS-host tests (iOS build-all and macOS platform tests) in bringup mode, to begin testing a LUCI migration for the ARM tests in this repository.
1 parent a4c3209 commit 8f12b27

7 files changed

+106
-20
lines changed

.ci.yaml

Lines changed: 70 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ platform_properties:
2525
]
2626
device_type: none
2727
os: Windows
28+
mac_arm64:
29+
properties:
30+
dependencies: >-
31+
[
32+
{"dependency": "xcode", "version": "14a5294e"},
33+
{"dependency": "gems", "version": "v3.3.14"}
34+
]
35+
os: Mac-12
36+
device_type: none
37+
cpu: arm64
38+
xcode: 14a5294e # xcode 14.0 beta 5
2839
mac_x64:
2940
properties:
3041
dependencies: >-
@@ -36,7 +47,7 @@ platform_properties:
3647
device_type: none
3748
cpu: x86
3849
xcode: 14a5294e # xcode 14.0 beta 5
39-
50+
4051

4152
targets:
4253
### iOS+macOS tasks ***
@@ -53,7 +64,7 @@ targets:
5364
target_file: mac_lint_podspecs.yaml
5465

5566
### macOS desktop tasks ###
56-
# macos-platform_tests builds all the plugins on M1, so this build is run
67+
# macos-platform_tests builds all the plugins on ARM, so this build is run
5768
# on Intel to give us build coverage of both host types.
5869
- name: Mac_x64 build_all_plugins master
5970
recipe: plugins/plugins
@@ -73,17 +84,61 @@ targets:
7384
target_file: mac_build_all_plugins.yaml
7485
channel: stable
7586

87+
- name: Mac_arm64 macos_platform_tests master
88+
bringup: true # New task
89+
recipe: plugins/plugins
90+
timeout: 60
91+
properties:
92+
channel: master
93+
add_recipes_cq: "true"
94+
version_file: flutter_master.version
95+
target_file: macos_platform_tests.yaml
96+
97+
- name: Mac_arm64 macos_platform_tests stable
98+
bringup: true # New task
99+
recipe: plugins/plugins
100+
presubmit: false
101+
timeout: 60
102+
properties:
103+
channel: stable
104+
add_recipes_cq: "true"
105+
version_file: flutter_stable.version
106+
target_file: macos_platform_tests.yaml
107+
76108
### iOS tasks ###
77-
# TODO(stuartmorgan): Swap this and ios-build_all_plugins once simulator
78-
# tests are reliable on the ARM infrastructure. See discussion at
79-
# https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089
109+
# TODO(stuartmorgan): Swap the architecture of this and ios_platform_tests_*
110+
# once simulator tests are reliable on the ARM infrastructure. See discussion
111+
# at https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089
112+
- name: Mac_arm64 ios_build_all_plugins master
113+
bringup: true # New task
114+
recipe: plugins/plugins
115+
timeout: 30
116+
properties:
117+
channel: master
118+
add_recipes_cq: "true"
119+
version_file: flutter_master.version
120+
target_file: ios_build_all_plugins.yaml
121+
122+
- name: Mac_arm64 ios_build_all_plugins stable
123+
bringup: true # New task
124+
recipe: plugins/plugins
125+
timeout: 30
126+
properties:
127+
channel: stable
128+
add_recipes_cq: "true"
129+
version_file: flutter_stable.version
130+
target_file: ios_build_all_plugins.yaml
131+
132+
# TODO(stuartmorgan): Swap the architecture of this and ios_build_all_plugins
133+
# once simulator tests are reliable on the ARM infrastructure. See discussion
134+
# at https://github.com/flutter/plugins/pull/5693#issuecomment-1126011089
80135
- name: Mac_x64 ios_platform_tests_1_of_4 master
81136
recipe: plugins/plugins
82137
timeout: 60
83138
properties:
84139
add_recipes_cq: "true"
85140
version_file: flutter_master.version
86-
target_file: mac_ios_platform_tests.yaml
141+
target_file: ios_platform_tests.yaml
87142
package_sharding: "--shardIndex 0 --shardCount 4"
88143

89144
- name: Mac_x64 ios_platform_tests_2_of_4 master
@@ -92,7 +147,7 @@ targets:
92147
properties:
93148
add_recipes_cq: "true"
94149
version_file: flutter_master.version
95-
target_file: mac_ios_platform_tests.yaml
150+
target_file: ios_platform_tests.yaml
96151
package_sharding: "--shardIndex 1 --shardCount 4"
97152

98153
- name: Mac_x64 ios_platform_tests_3_of_4 master
@@ -101,7 +156,7 @@ targets:
101156
properties:
102157
add_recipes_cq: "true"
103158
version_file: flutter_master.version
104-
target_file: mac_ios_platform_tests.yaml
159+
target_file: ios_platform_tests.yaml
105160
package_sharding: "--shardIndex 2 --shardCount 4"
106161

107162
- name: Mac_x64 ios_platform_tests_4_of_4 master
@@ -110,7 +165,7 @@ targets:
110165
properties:
111166
add_recipes_cq: "true"
112167
version_file: flutter_master.version
113-
target_file: mac_ios_platform_tests.yaml
168+
target_file: ios_platform_tests.yaml
114169
package_sharding: "--shardIndex 3 --shardCount 4"
115170

116171
# Don't run full platform tests on both channels in pre-submit.
@@ -122,7 +177,7 @@ targets:
122177
channel: stable
123178
add_recipes_cq: "true"
124179
version_file: flutter_stable.version
125-
target_file: mac_ios_platform_tests.yaml
180+
target_file: ios_platform_tests.yaml
126181
package_sharding: "--shardIndex 0 --shardCount 4"
127182

128183
- name: Mac_x64 ios_platform_tests_2_of_4 stable
@@ -133,7 +188,7 @@ targets:
133188
channel: stable
134189
add_recipes_cq: "true"
135190
version_file: flutter_stable.version
136-
target_file: mac_ios_platform_tests.yaml
191+
target_file: ios_platform_tests.yaml
137192
package_sharding: "--shardIndex 1 --shardCount 4"
138193

139194
- name: Mac_x64 ios_platform_tests_3_of_4 stable
@@ -144,7 +199,7 @@ targets:
144199
channel: stable
145200
add_recipes_cq: "true"
146201
version_file: flutter_stable.version
147-
target_file: mac_ios_platform_tests.yaml
202+
target_file: ios_platform_tests.yaml
148203
package_sharding: "--shardIndex 2 --shardCount 4"
149204

150205
- name: Mac_x64 ios_platform_tests_4_of_4 stable
@@ -155,7 +210,7 @@ targets:
155210
channel: stable
156211
add_recipes_cq: "true"
157212
version_file: flutter_stable.version
158-
target_file: mac_ios_platform_tests.yaml
213+
target_file: ios_platform_tests.yaml
159214
package_sharding: "--shardIndex 3 --shardCount 4"
160215

161216
- name: Windows win32-platform_tests master
@@ -190,7 +245,7 @@ targets:
190245
timeout: 30
191246
properties:
192247
add_recipes_cq: "true"
193-
target_file: build_all_plugins.yaml
248+
target_file: windows_build_all_plugins.yaml
194249
channel: master
195250
version_file: flutter_master.version
196251
dependencies: >
@@ -203,7 +258,7 @@ targets:
203258
timeout: 30
204259
properties:
205260
add_recipes_cq: "true"
206-
target_file: build_all_plugins.yaml
261+
target_file: windows_build_all_plugins.yaml
207262
channel: stable
208263
version_file: flutter_stable.version
209264
dependencies: >

.ci/scripts/build_all_plugins.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55

66
platform="$1"
77
build_mode="$2"
8+
shift 2
89
cd all_packages
9-
flutter build "$platform" --"$build_mode"
10+
flutter build "$platform" --"$build_mode" "$@"
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
tasks:
2+
- name: prepare tool
3+
script: .ci/scripts/prepare_tool.sh
4+
- name: create all_plugins app
5+
script: .ci/scripts/create_all_plugins_app.sh
6+
- name: build all_plugins for iOS debug
7+
script: .ci/scripts/build_all_plugins.sh
8+
args: ["ios", "debug", "--no-codesign"]
9+
- name: build all_plugins for iOS release
10+
script: .ci/scripts/build_all_plugins.sh
11+
args: ["ios", "release", "--no-codesign"]

.ci/targets/mac_build_all_plugins.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ tasks:
33
script: .ci/scripts/prepare_tool.sh
44
- name: create all_plugins app
55
script: .ci/scripts/create_all_plugins_app.sh
6-
- name: build all_plugins debug
6+
- name: build all_plugins for macOS debug
77
script: .ci/scripts/build_all_plugins.sh
88
args: ["macos", "debug"]
9-
- name: build all_plugins release
9+
- name: build all_plugins for macOS release
1010
script: .ci/scripts/build_all_plugins.sh
1111
args: ["macos", "release"]

.ci/targets/mac_platform_tests.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
tasks:
2+
- name: prepare tool
3+
script: .ci/scripts/prepare_tool.sh
4+
- name: build examples
5+
script: script/tool_runner.sh
6+
args: ["build-examples", "--macos"]
7+
- name: xcode analyze
8+
script: script/tool_runner.sh
9+
args: ["xcode-analyze", "--macos"]
10+
- name: xcode analyze deprecation
11+
# Ensure we don't accidentally introduce deprecated code.
12+
script: script/tool_runner.sh
13+
args: ["xcode-analyze", "--macos", "--macos-min-version=12.3"]
14+
- name: native test
15+
script: script/tool_runner.sh
16+
args: ["native-test", "--macos"]
17+
- name: drive examples
18+
script: script/tool_runner.sh
19+
args: ["drive-examples", "--macos", "--exclude=script/configs/exclude_integration_macos.yaml"]

.ci/targets/build_all_plugins.yaml renamed to .ci/targets/windows_build_all_plugins.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ tasks:
33
script: .ci/scripts/prepare_tool.sh
44
- name: create all_plugins app
55
script: .ci/scripts/create_all_plugins_app.sh
6-
- name: build all_plugins debug
6+
- name: build all_plugins for Windows debug
77
script: .ci/scripts/build_all_plugins.sh
88
args: ["windows", "debug"]
9-
- name: build all_plugins release
9+
- name: build all_plugins for Windows release
1010
script: .ci/scripts/build_all_plugins.sh
1111
args: ["windows", "release"]

0 commit comments

Comments
 (0)