@@ -49,112 +49,6 @@ macos_template: &MACOS_TEMPLATE
4949 osx_instance :
5050 image : big-sur-xcode-12.5
5151
52- # Light-workload Linux tasks.
53- # These use default machines, with fewer CPUs, to reduce pressure on the
54- # concurrency limits.
55- task :
56- << : *FLUTTER_UPGRADE_TEMPLATE
57- gke_container :
58- dockerfile : .ci/Dockerfile
59- builder_image_name : docker-builder-linux # gce vm image
60- builder_image_project : flutter-cirrus
61- cluster_name : test-cluster
62- zone : us-central1-a
63- namespace : default
64- matrix :
65- # ## Platform-agnostic tasks ###
66- - name : Linux plugin_tools_tests
67- script :
68- - cd script/tool
69- - dart pub run test
70- - name : publishable
71- env :
72- # TODO (mvanbeusekom): Temporary override to "stable" because of failure on "master".
73- # Remove override once https://github.com/dart-lang/pub/issues/3152 is resolved.
74- CHANNEL : stable
75- CHANGE_DESC : " $TMPDIR/change-description.txt"
76- version_check_script :
77- # For pre-submit, pass the PR description to the script to allow for
78- # platform version breaking version change justifications.
79- # For post-submit, ignore platform version breaking version changes.
80- # The PR description isn't reliably part of the commit message, so using
81- # the same flags as for presubmit would likely result in false-positive
82- # post-submit failures.
83- - if [[ $CIRRUS_PR == "" ]]; then
84- - ./script/tool_runner.sh version-check --ignore-platform-interface-breaks
85- - else
86- - echo "$CIRRUS_CHANGE_MESSAGE" > "$CHANGE_DESC"
87- - ./script/tool_runner.sh version-check --change-description-file="$CHANGE_DESC"
88- - fi
89- publish_check_script : ./script/tool_runner.sh publish-check
90- - name : format
91- always :
92- format_script : ./script/tool_runner.sh format --fail-on-change
93- pubspec_script : ./script/tool_runner.sh pubspec-check
94- license_script : dart $PLUGIN_TOOL license-check
95- - name : federated_safety
96- # This check is only meaningful for PRs, as it validates changes
97- # rather than state.
98- only_if : $CIRRUS_PR != ""
99- script : ./script/tool_runner.sh federation-safety-check
100- - name : dart_unit_tests
101- env :
102- matrix :
103- CHANNEL : " master"
104- CHANNEL : " stable"
105- test_script :
106- - ./script/tool_runner.sh test
107- - name : analyze
108- env :
109- matrix :
110- CHANNEL : " master"
111- CHANNEL : " stable"
112- tool_script :
113- - cd script/tool
114- - dart analyze --fatal-infos
115- script :
116- # DO NOT change the custom-analysis argument here without changing the Dart repo.
117- # See the comment in script/configs/custom_analysis.yaml for details.
118- - ./script/tool_runner.sh analyze --custom-analysis=script/configs/custom_analysis.yaml
119- # ## Android tasks ###
120- - name : android-build_all_plugins
121- env :
122- BUILD_ALL_ARGS : " apk"
123- matrix :
124- CHANNEL : " master"
125- CHANNEL : " stable"
126- << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
127- # ## Web tasks ###
128- - name : web-build_all_plugins
129- env :
130- BUILD_ALL_ARGS : " web"
131- matrix :
132- CHANNEL : " master"
133- CHANNEL : " stable"
134- << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
135- # ## Linux desktop tasks ###
136- - name : linux-build_all_plugins
137- env :
138- BUILD_ALL_ARGS : " linux"
139- matrix :
140- CHANNEL : " master"
141- CHANNEL : " stable"
142- setup_script :
143- - flutter config --enable-linux-desktop
144- << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
145- - name : linux-platform_tests
146- env :
147- matrix :
148- CHANNEL : " master"
149- CHANNEL : " stable"
150- build_script :
151- - flutter config --enable-linux-desktop
152- - ./script/tool_runner.sh build-examples --linux
153- native_test_script :
154- - ./script/tool_runner.sh native-test --linux --no-integration
155- drive_script :
156- - xvfb-run ./script/tool_runner.sh drive-examples --linux
157-
15852# Heavy-workload Linux tasks.
15953# These use machines with more CPUs and memory, so will reduce parallelization
16054# for non-credit runs.
@@ -183,135 +77,8 @@ task:
18377 CHANNEL : " stable"
18478 MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
18579 GCLOUD_FIREBASE_TESTLAB_KEY : ENCRYPTED[!c9446a7b11d5520c2ebce3c64ccc82fe6d146272cb06a4a4590e22c389f33153f951347a25422522df1a81fe2f085e9a!]
186- build_script :
187- # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
188- # might include non-ASCII characters which makes Gradle crash.
189- # TODO(stuartmorgan): See https://github.com/flutter/flutter/issues/24935
190- - export CIRRUS_CHANGE_MESSAGE=""
191- - export CIRRUS_COMMIT_MESSAGE=""
192- - ./script/tool_runner.sh build-examples --apk
193- lint_script :
194- # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
195- # might include non-ASCII characters which makes Gradle crash.
196- # TODO(stuartmorgan): See https://github.com/flutter/flutter/issues/24935
197- - export CIRRUS_CHANGE_MESSAGE=""
198- - export CIRRUS_COMMIT_MESSAGE=""
199- - ./script/tool_runner.sh lint-android # must come after build-examples
20080 stable_channel_conditional :
20181 only_if : $CHANNEL == 'stable'
20282 script : dart ./ci/stable_conditional.dart
203- native_unit_test_script :
204- # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
205- # might include non-ASCII characters which makes Gradle crash.
206- # TODO(stuartmorgan): See https://github.com/flutter/flutter/issues/24935
207- - export CIRRUS_CHANGE_MESSAGE=""
208- - export CIRRUS_COMMIT_MESSAGE=""
209- # Native integration tests are handled by firebase-test-lab below, so
210- # only run unit tests.
211- # Must come after build-examples.
212- - ./script/tool_runner.sh native-test --android --no-integration --exclude script/configs/exclude_native_unit_android.yaml
213- firebase_test_lab_script :
214- # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
215- # might include non-ASCII characters which makes Gradle crash.
216- # TODO(stuartmorgan): See https://github.com/flutter/flutter/issues/24935
217- - export CIRRUS_CHANGE_MESSAGE=""
218- - export CIRRUS_COMMIT_MESSAGE=""
219- - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then
220- - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
221- - ./script/tool_runner.sh firebase-test-lab --device model=redfin,version=30 --device model=starqlteue,version=26 --exclude=script/configs/exclude_integration_android.yaml
222- - else
223- - echo "This user does not have permission to run Firebase Test Lab tests."
224- - fi
225- # Upload the full lint results to Cirrus to display in the results UI.
226- always :
227- android-lint_artifacts :
228- path : " **/reports/lint-results-debug.xml"
229- type : text/xml
230- format : android-lint
231- # ## Web tasks ###
232- - name : web-platform_tests
233- env :
234- matrix :
235- CHANNEL : " master"
236- CHANNEL : " stable"
237- install_script :
238- - git clone https://github.com/flutter/web_installers.git
239- - cd web_installers/packages/web_drivers/
240- - dart pub get
241- chromedriver_background_script :
242- - cd web_installers/packages/web_drivers/
243- - dart lib/web_driver_installer.dart chromedriver --install-only
244- - ./chromedriver/chromedriver --port=4444
245- build_script :
246- - ./script/tool_runner.sh build-examples --web
247- drive_script :
248- - ./script/tool_runner.sh drive-examples --web --exclude=script/configs/exclude_integration_web.yaml
249-
250- # macOS tasks.
251- task :
252- << : *MACOS_TEMPLATE
253- << : *FLUTTER_UPGRADE_TEMPLATE
254- matrix :
255- # ## iOS+macOS tasks ***
256- - name : darwin-lint_podspecs
257- script :
258- - ./script/tool_runner.sh podspecs
259- # ## iOS tasks ###
260- - name : ios-build_all_plugins
261- env :
262- BUILD_ALL_ARGS : " ios --no-codesign"
263- matrix :
264- CHANNEL : " master"
265- CHANNEL : " stable"
266- << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
267- - name : ios-platform_tests
268- env :
269- PATH : $PATH:/usr/local/bin
270- matrix :
271- PLUGIN_SHARDING : " --shardIndex 0 --shardCount 4"
272- PLUGIN_SHARDING : " --shardIndex 1 --shardCount 4"
273- PLUGIN_SHARDING : " --shardIndex 2 --shardCount 4"
274- PLUGIN_SHARDING : " --shardIndex 3 --shardCount 4"
275- matrix :
276- CHANNEL : " master"
277- CHANNEL : " stable"
278- SIMCTL_CHILD_MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
279- create_simulator_script :
280- - xcrun simctl list
281- - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-5 | xargs xcrun simctl boot
282- build_script :
283- - ./script/tool_runner.sh build-examples --ios
284- xcode_analyze_script :
285- - ./script/tool_runner.sh xcode-analyze --ios
286- native_test_script :
287- - ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest" --exclude=script/configs/exclude_native_ios.yaml
288- drive_script :
289- # `drive-examples` contains integration tests, which changes the UI of the application.
290- # This UI change sometimes affects `xctest`.
291- # So we run `drive-examples` after `native-test`; changing the order will result ci failure.
292- - ./script/tool_runner.sh drive-examples --ios --exclude=script/configs/exclude_integration_ios.yaml
293- # ## macOS desktop tasks ###
294- - name : macos-build_all_plugins
295- env :
296- BUILD_ALL_ARGS : " macos"
297- matrix :
298- CHANNEL : " master"
299- CHANNEL : " stable"
300- setup_script :
301- - flutter config --enable-macos-desktop
302- << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
303- - name : macos-platform_tests
304- env :
305- matrix :
306- CHANNEL : " master"
307- CHANNEL : " stable"
308- PATH : $PATH:/usr/local/bin
309- build_script :
310- - flutter config --enable-macos-desktop
311- - ./script/tool_runner.sh build-examples --macos
312- xcode_analyze_script :
313- - ./script/tool_runner.sh xcode-analyze --macos
314- native_test_script :
315- - ./script/tool_runner.sh native-test --macos --exclude=script/configs/exclude_native_macos.yaml
316- drive_script :
317- - ./script/tool_runner.sh drive-examples --macos
83+ echo_script :
84+ - echo $CHANNEL
0 commit comments