@@ -4,15 +4,14 @@ gcp_credentials: ENCRYPTED[ec898795b6f1b54f9cc2ab4104909f1053651f65fcab96397cfdc
44# number of plugins
55only_if : $CIRRUS_TAG == ''
66env :
7- INTEGRATION_TEST_PATH : " ./packages/integration_test"
87 CHANNEL : " master" # Default to master when not explicitly set by a task.
98 PLUGIN_TOOLS : " dart run ./script/tool/lib/src/main.dart"
109
1110tool_setup_template : &TOOL_SETUP_TEMPLATE
1211 tool_setup_script :
1312 - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
1413 - cd script/tool
15- - pub get
14+ - dart pub get
1615
1716flutter_upgrade_template : &FLUTTER_UPGRADE_TEMPLATE
1817 upgrade_flutter_script :
@@ -25,7 +24,7 @@ macos_template: &MACOS_TEMPLATE
2524 # PRs on macOS.
2625 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
2726 osx_instance :
28- image : big-sur-xcode-12.3
27+ image : big-sur-xcode-12.5
2928 cocoapod_install_script : sudo gem install cocoapods
3029
3130# Light-workload Linux tasks.
@@ -48,41 +47,30 @@ task:
4847 - CIRRUS_BUILD_ID=null pub run test
4948 - name : publishable
5049 script :
51- - if [[ "$CIRRUS_BRANCH" == "master" ]]; then
52- - $PLUGIN_TOOLS version-check
53- - else
54- - $PLUGIN_TOOLS version-check --run-on-changed-packages
55- - fi
56- - ./script/check_publish.sh
50+ - ./script/tool_runner.sh version-check
51+ - ./script/tool_runner.sh publish-check
5752 - name : format
58- format_script : ./script/incremental_build.sh format --fail-on-change
53+ format_script : ./script/tool_runner.sh format --fail-on-change
54+ pubspec_script : ./script/tool_runner.sh pubspec-check
5955 license_script :
60- - cd script/tool
61- - pub get
62- - cd ../..
6356 - dart script/tool/lib/src/main.dart license-check
6457 - name : test
6558 env :
6659 matrix :
6760 CHANNEL : " master"
6861 CHANNEL : " stable"
6962 test_script :
70- - ./script/incremental_build .sh test
71- - name : analyze_master
63+ - ./script/tool_runner .sh test
64+ - name : analyze
7265 env :
7366 matrix :
7467 CHANNEL : " master"
75- script :
76- - ./script/incremental_build.sh analyze
77- # # TODO(cyanglaz):
78- # # Combing stable and master analyze jobs when integration test null safety is ready on flutter stable.
79- - name : analyze_stable
80- env :
81- matrix :
8268 CHANNEL : " stable"
69+ tool_script :
70+ - cd script/tool
71+ - dart analyze --fatal-infos
8372 script :
84- - find . -depth -type d -wholename '*_web/example' -exec rm -rf {} \;
85- - ./script/incremental_build.sh analyze
73+ - ./script/tool_runner.sh analyze
8674 # ## Android tasks ###
8775 - name : build_all_plugins_apk
8876 env :
@@ -115,9 +103,9 @@ task:
115103 CHANNEL : " stable"
116104 build_script :
117105 - flutter config --enable-linux-desktop
118- - ./script/incremental_build .sh build-examples --linux
119- test_script :
120- - xvfb-run ./script/incremental_build .sh drive-examples --linux
106+ - ./script/tool_runner .sh build-examples --linux
107+ drive_script :
108+ - xvfb-run ./script/tool_runner .sh drive-examples --linux
121109
122110# Heavy-workload Linux tasks.
123111# These use machines with more CPUs and memory, so will reduce parallelization
@@ -158,11 +146,11 @@ task:
158146 - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
159147 - export CIRRUS_CHANGE_MESSAGE=""
160148 - export CIRRUS_COMMIT_MESSAGE=""
161- - ./script/incremental_build .sh build-examples --apk
162- - ./script/incremental_build .sh java-test # must come after apk build
149+ - ./script/tool_runner .sh build-examples --apk
150+ - ./script/tool_runner .sh java-test # must come after apk build
163151 - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then
164152 - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
165- - ./script/incremental_build .sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26
153+ - ./script/tool_runner .sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26
166154 - else
167155 - echo "This user does not have permission to run Firebase Test Lab tests."
168156 - fi
@@ -171,30 +159,32 @@ task:
171159 # ## Web tasks ###
172160 - name : build-web+drive-examples
173161 env :
162+ # Currently missing; see https://github.com/flutter/flutter/issues/81982
163+ # and https://github.com/flutter/flutter/issues/82211
164+ PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS : " file_selector,image_picker_for_web,shared_preferences_web"
174165 matrix :
175166 CHANNEL : " master"
176167 CHANNEL : " stable"
177168 install_script :
178169 - git clone https://github.com/flutter/web_installers.git
179170 - cd web_installers/packages/web_drivers/
180- - pub get
171+ - dart pub get
181172 - dart lib/web_driver_installer.dart chromedriver --install-only
182173 - ./chromedriver/chromedriver --port=4444 &
183174 build_script :
184- - ./script/incremental_build.sh build-examples --web
185- test_script :
186- # TODO(stuartmorgan): Eliminate this check once 2.1 reaches stable.
187- - if [[ "$CHANNEL" == "master" ]]; then
188- - ./script/incremental_build.sh drive-examples --web
189- - else
190- - echo "Requires null-safe integration_test; skipping."
191- - fi
175+ - ./script/tool_runner.sh build-examples --web
176+ drive_script :
177+ - ./script/tool_runner.sh drive-examples --web --exclude $PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS
192178
193179# macOS tasks.
194180task :
195181 << : *MACOS_TEMPLATE
196182 << : *FLUTTER_UPGRADE_TEMPLATE
197183 matrix :
184+ # ## iOS+macOS tasks ***
185+ - name : lint_darwin_plugins
186+ script :
187+ - ./script/tool_runner.sh podspecs
198188 # ## iOS tasks ###
199189 - name : build_all_plugins_ipa
200190 env :
@@ -206,7 +196,10 @@ task:
206196 - name : build-ipas+drive-examples
207197 env :
208198 PATH : $PATH:/usr/local/bin
209- PLUGINS_TO_SKIP_XCTESTS : " integration_test"
199+ # in_app_purchase_ios is currently missing tests; see https://github.com/flutter/flutter/issues/81695
200+ # ios_platform_images is currently missing tests; see https://github.com/flutter/flutter/issues/82208
201+ # sensor hangs on CI.
202+ PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS : " in_app_purchase_ios,ios_platform_images,sensors"
210203 matrix :
211204 PLUGIN_SHARDING : " --shardIndex 0 --shardCount 4"
212205 PLUGIN_SHARDING : " --shardIndex 1 --shardCount 4"
@@ -218,15 +211,16 @@ task:
218211 SIMCTL_CHILD_MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
219212 create_simulator_script :
220213 - xcrun simctl list
221- - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-3 | xargs xcrun simctl boot
214+ - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-5 | xargs xcrun simctl boot
222215 build_script :
223- - ./script/incremental_build.sh build-examples --ipa
224- test_script :
225- - ./script/incremental_build.sh xctest --skip $PLUGINS_TO_SKIP_XCTESTS --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest"
216+ - ./script/tool_runner.sh build-examples --ipa
217+ xctest_script :
218+ - ./script/tool_runner.sh xctest --ios --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest"
219+ drive_script :
226220 # `drive-examples` contains integration tests, which changes the UI of the application.
227221 # This UI change sometimes affects `xctest`.
228222 # So we run `drive-examples` after `xctest`, changing the order will result ci failure.
229- - ./script/incremental_build .sh drive-examples --ios
223+ - ./script/tool_runner .sh drive-examples --ios --exclude $PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS
230224 # ## macOS desktop tasks ###
231225 - name : build_all_plugins_macos
232226 env :
@@ -238,23 +232,17 @@ task:
238232 - ./script/build_all_plugins_app.sh macos
239233 - name : build-macos+drive-examples
240234 env :
235+ # conncectivity_macos is deprecated, so is not getting unit test backfill.
236+ # package_info is deprecated, so is not getting unit test backfill.
237+ PLUGINS_TO_EXCLUDE_MACOS_XCTESTS : " connectivity_macos,package_info"
241238 matrix :
242239 CHANNEL : " master"
243240 CHANNEL : " stable"
244241 PATH : $PATH:/usr/local/bin
245242 build_script :
246243 - flutter config --enable-macos-desktop
247- - ./script/incremental_build.sh build-examples --macos --no-ipa
248- test_script :
249- - ./script/incremental_build.sh drive-examples --macos
250-
251- task :
252- # Don't use FLUTTER_UPGRADE_TEMPLATE, Flutter tooling not needed.
253- << : *MACOS_TEMPLATE
254- << : *TOOL_SETUP_TEMPLATE
255- matrix :
256- - name : lint_darwin_plugins
257- script :
258- # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
259- - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
260- - ./script/incremental_build.sh podspecs
244+ - ./script/tool_runner.sh build-examples --macos --no-ipa
245+ xctest_script :
246+ - ./script/tool_runner.sh xctest --macos --exclude $PLUGINS_TO_EXCLUDE_MACOS_XCTESTS
247+ drive_script :
248+ - ./script/tool_runner.sh drive-examples --macos
0 commit comments