@@ -11,10 +11,14 @@ task:
1111 upgrade_script :
1212 - flutter channel stable
1313 - flutter upgrade
14+ - flutter channel beta
15+ - flutter upgrade
1416 - flutter channel master
1517 - flutter upgrade
1618 - git fetch origin master
17- activate_script : pub global activate flutter_plugin_tools
19+ submodules_script :
20+ - git submodule init
21+ - git submodule update
1822 matrix :
1923 - name : publishable
2024 script :
3135 env :
3236 matrix :
3337 CHANNEL : " master"
38+ CHANNEL : " beta"
3439 CHANNEL : " stable"
3540 test_script :
3641 # TODO(jackson): Allow web plugins once supported on stable
@@ -42,12 +47,14 @@ task:
4247 env :
4348 matrix :
4449 CHANNEL : " master"
50+ CHANNEL : " beta"
4551 CHANNEL : " stable"
4652 script : ./script/incremental_build.sh analyze
4753 - name : build_all_plugins_apk
4854 env :
4955 matrix :
5056 CHANNEL : " master"
57+ CHANNEL : " beta"
5158 CHANNEL : " stable"
5259 script :
5360 # TODO(jackson): Allow web plugins once supported on stable
7784 PLUGIN_SHARDING : " --shardIndex 3 --shardCount 4"
7885 matrix :
7986 CHANNEL : " master"
87+ CHANNEL : " beta"
8088 CHANNEL : " stable"
8189 MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
8290 GCLOUD_FIREBASE_TESTLAB_KEY : ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4]
@@ -97,11 +105,11 @@ task:
97105 - export CIRRUS_COMMIT_MESSAGE=""
98106 - ./script/incremental_build.sh build-examples --apk
99107 - ./script/incremental_build.sh java-test # must come after apk build
100- - if [[ $GCLOUD_FIREBASE_TESTLAB_KEY == ENCRYPTED* ]]; then
101- - echo "This user does not have permission to run Firebase Test Lab tests."
102- - else
108+ - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then
103109 - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
104110 - ./script/incremental_build.sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26
111+ - else
112+ - echo "This user does not have permission to run Firebase Test Lab tests."
105113 - fi
106114 - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
107115 - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
@@ -119,10 +127,14 @@ task:
119127 upgrade_script :
120128 - flutter channel stable
121129 - flutter upgrade
130+ - flutter channel beta
131+ - flutter upgrade
122132 - flutter channel master
123133 - flutter upgrade
124134 - git fetch origin master
125- activate_script : pub global activate flutter_plugin_tools
135+ submodules_script :
136+ - git submodule init
137+ - git submodule update
126138 matrix :
127139 - name : build-linux+drive-examples
128140 install_script :
@@ -134,80 +146,117 @@ task:
134146 - xvfb-run ./script/incremental_build.sh drive-examples --linux
135147
136148task :
149+ # Xcode 12 task
137150 # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
138151 only_if : $CIRRUS_TAG == ''
139152 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
140153 osx_instance :
141- image : catalina- xcode-11.3.1-flutter
154+ image : big-sur- xcode-12.3
142155 upgrade_script :
143156 - sudo gem install cocoapods
144157 - flutter channel stable
145158 - flutter upgrade
159+ - flutter channel beta
160+ - flutter upgrade
146161 - flutter channel master
147162 - flutter upgrade
148163 - git fetch origin master
149- activate_script : pub global activate flutter_plugin_tools
164+ submodules_script :
165+ - git submodule init
166+ - git submodule update
150167 create_simulator_script :
151168 - xcrun simctl list
152- - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13 -3 | xargs xcrun simctl boot
169+ - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14 -3 | xargs xcrun simctl boot
153170 matrix :
154171 - name : build_all_plugins_ipa
155172 env :
156173 matrix :
157174 CHANNEL : " master"
175+ CHANNEL : " beta"
158176 CHANNEL : " stable"
159177 script :
160178 # TODO(jackson): Allow web plugins once supported on stable
161179 # https://github.com/flutter/flutter/issues/42864
162180 - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
163181 - flutter channel $CHANNEL
164182 - ./script/build_all_plugins_app.sh ios --no-codesign
165- - name : lint_darwin_plugins
166- env :
167- matrix :
168- PLUGIN_SHARDING : " --shardIndex 0 --shardCount 2"
169- PLUGIN_SHARDING : " --shardIndex 1 --shardCount 2"
170- script :
171- # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
172- - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
173- # Skip the dummy podspecs used to placate the tool.
174- - find . -name "*_web*.podspec" -o -name "*_mac*.podspec" | xargs rm
175- - ./script/incremental_build.sh podspecs
176183 - name : build-ipas+drive-examples
177184 env :
178185 PATH : $PATH:/usr/local/bin
179- PLUGINS_TO_SKIP_XCTESTS : " battery/battery,camera/camera,connectivity/connectivity,device_info/device_info,espresso,google_maps_flutter/google_maps_flutter,google_sign_in/google_sign_in,in_app_purchase,integration_test,ios_platform_images,local_auth,package_info,path_provider/path_provider,quick_actions, sensors,shared_preferences/shared_preferences,url_launcher/url_launcher,video_player/video_player,webview_flutter,wifi_info_flutter/wifi_info_flutter"
186+ PLUGINS_TO_SKIP_XCTESTS : " battery/battery,camera/camera,connectivity/connectivity,device_info/device_info,espresso,google_maps_flutter/google_maps_flutter,google_sign_in/google_sign_in,in_app_purchase,integration_test,ios_platform_images,local_auth,package_info,path_provider/path_provider,sensors,shared_preferences/shared_preferences,url_launcher/url_launcher,video_player/video_player,webview_flutter,wifi_info_flutter/wifi_info_flutter"
180187 matrix :
181188 PLUGIN_SHARDING : " --shardIndex 0 --shardCount 4"
182189 PLUGIN_SHARDING : " --shardIndex 1 --shardCount 4"
183190 PLUGIN_SHARDING : " --shardIndex 2 --shardCount 4"
184191 PLUGIN_SHARDING : " --shardIndex 3 --shardCount 4"
185192 matrix :
186193 CHANNEL : " master"
194+ CHANNEL : " beta"
187195 CHANNEL : " stable"
188196 SIMCTL_CHILD_MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
189197 build_script :
190198 # TODO(jackson): Allow web plugins once supported on stable
191199 # https://github.com/flutter/flutter/issues/42864
192200 - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
193201 - flutter channel $CHANNEL
202+ - flutter upgrade
194203 - ./script/incremental_build.sh build-examples --ipa
195- - ./script/incremental_build.sh drive-examples
196- - ./script/incremental_build.sh xctest --target RunnerUITests --skip $PLUGINS_TO_SKIP_XCTESTS
204+ - ./script/incremental_build.sh xctest --target RunnerUITests --skip $PLUGINS_TO_SKIP_XCTESTS --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=14.3"
205+ # `drive-examples` contains integration tests, which changes the UI of the application.
206+ # This UI change sometimes affects `xctest`.
207+ # So we run `drive-examples` after `xctest`, changing the order will result ci failure.
208+ - ./script/incremental_build.sh drive-examples --ios
209+
197210task :
211+ # Xcode 11 task
212+ # TODO(cyanglaz): merge Xcode 11 task to Xcode 12 task when all the matrix can be run in Xcode 12.
198213 # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
199214 only_if : $CIRRUS_TAG == ''
200215 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
201216 osx_instance :
202217 image : catalina-xcode-11.3.1-flutter
218+ upgrade_script :
219+ - sudo gem install cocoapods
220+ - flutter channel stable
221+ - flutter upgrade
222+ - flutter channel master
223+ - flutter upgrade
224+ - git fetch origin master
225+ submodules_script :
226+ - git submodule init
227+ - git submodule update
228+ create_simulator_script :
229+ - xcrun simctl list
230+ - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13-3 | xargs xcrun simctl boot
231+ matrix :
232+ - name : lint_darwin_plugins
233+ env :
234+ matrix :
235+ PLUGIN_SHARDING : " --shardIndex 0 --shardCount 2"
236+ PLUGIN_SHARDING : " --shardIndex 1 --shardCount 2"
237+ script :
238+ # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
239+ - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
240+ # Skip the dummy podspecs used to placate the tool.
241+ - find . -name "*_web*.podspec" -o -name "*_mac*.podspec" | xargs rm
242+ - ./script/incremental_build.sh podspecs
243+
244+ task :
245+ # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
246+ only_if : $CIRRUS_TAG == ''
247+ use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
248+ osx_instance :
249+ image : big-sur-xcode-12.3
203250 setup_script :
204251 - flutter config --enable-macos-desktop
205252 upgrade_script :
206253 - sudo gem install cocoapods
207254 - flutter channel master
208255 - flutter upgrade
209256 - git fetch origin master
210- activate_script : pub global activate flutter_plugin_tools
257+ submodules_script :
258+ - git submodule init
259+ - git submodule update
211260 matrix :
212261 - name : build_all_plugins_app
213262 script :
0 commit comments