11task :
2+ # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
3+ only_if : $CIRRUS_TAG == ''
24 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
35 container :
46 dockerfile : .ci/Dockerfile
57 cpu : 8
68 memory : 16G
9+ env :
10+ E2E_PATH : " ./packages/e2e"
711 upgrade_script :
12+ - flutter channel stable
13+ - flutter upgrade
814 - flutter channel master
915 - flutter upgrade
1016 - git fetch origin master
1117 activate_script : pub global activate flutter_plugin_tools
1218 matrix :
1319 - name : publishable
14- script : ./script/check_publish.sh
15- - name : test+format
20+ script :
21+ - flutter channel master
22+ - ./script/check_publish.sh
23+ - name : format
1624 install_script :
1725 - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
1826 - sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
1927 - sudo apt-get update
2028 - sudo apt-get install -y --allow-unauthenticated clang-format-7
2129 format_script : ./script/incremental_build.sh format --travis --clang-format=clang-format-7
22- test_script : ./script/incremental_build.sh test
30+ - name : test
31+ env :
32+ matrix :
33+ CHANNEL : " master"
34+ CHANNEL : " stable"
35+ test_script :
36+ # TODO(jackson): Allow web plugins once supported on stable
37+ # https://github.com/flutter/flutter/issues/42864
38+ - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
39+ - flutter channel $CHANNEL
40+ - ./script/incremental_build.sh test
2341 - name : analyze
2442 script : ./script/incremental_build.sh analyze
2543 - name : build_all_plugins_apk
26- script : ./script/build_all_plugins_app.sh apk
27- - name : build-apks+java-test+drive-examples
44+ script :
45+ # TODO(jackson): Allow web plugins once supported on stable
46+ # https://github.com/flutter/flutter/issues/42864
47+ - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
48+ - flutter channel $CHANNEL
49+ - ./script/build_all_plugins_app.sh apk
50+ - name : e2e_web_smoke_test
51+ # Tests e2e example test in web.
52+ only_if : " changesInclude('.cirrus.yml', 'packages/e2e/**') || $CIRRUS_PR == ''"
53+ install_script :
54+ - flutter config --enable-web
55+ - git clone https://github.com/flutter/web_installers.git
56+ - cd web_installers/packages/web_drivers/
57+ - pub get
58+ - dart lib/web_driver_installer.dart chromedriver --install-only
59+ - ./chromedriver/chromedriver --port=4444 &
60+ test_script :
61+ - cd $E2E_PATH/example/
62+ - flutter drive -v --target=test_driver/example_e2e.dart -d web-server --release --browser-name=chrome
63+ - name : build-apks+java-test+firebase-test-lab
2864 env :
2965 matrix :
3066 PLUGIN_SHARDING : " --shardIndex 0 --shardCount 2"
3167 PLUGIN_SHARDING : " --shardIndex 1 --shardCount 2"
68+ matrix :
69+ CHANNEL : " master"
70+ CHANNEL : " stable"
3271 MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
72+ GCLOUD_FIREBASE_TESTLAB_KEY : ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4]
3373 script :
74+ # TODO(jackson): Allow web plugins once supported on stable
75+ # https://github.com/flutter/flutter/issues/42864
76+ - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
77+ - flutter channel $CHANNEL
3478 # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
3579 # might include non-ASCII characters which makes Gradle crash.
3680 # See: https://github.com/flutter/flutter/issues/24935
@@ -43,27 +87,77 @@ task:
4387 - export CIRRUS_COMMIT_MESSAGE=""
4488 - ./script/incremental_build.sh build-examples --apk
4589 - ./script/incremental_build.sh java-test # must come after apk build
90+ - if [[ $GCLOUD_FIREBASE_TESTLAB_KEY == ENCRYPTED* ]]; then
91+ - echo "This user does not have permission to run Firebase Test Lab tests."
92+ - else
93+ - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
94+ - ./script/incremental_build.sh firebase-test-lab
95+ - fi
4696 - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
4797 - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
4898
4999task :
100+ # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
101+ only_if : $CIRRUS_TAG == ''
102+ use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
103+ container :
104+ dockerfile : .ci/Dockerfile-LinuxDesktop
105+ cpu : 8
106+ memory : 16G
107+ env :
108+ E2E_PATH : " ./packages/e2e"
109+ upgrade_script :
110+ - flutter channel stable
111+ - flutter upgrade
112+ - flutter channel master
113+ - flutter upgrade
114+ - git fetch origin master
115+ activate_script : pub global activate flutter_plugin_tools
116+ matrix :
117+ - name : build-linux+drive-examples
118+ install_script :
119+ - flutter config --enable-linux-desktop
120+ build_script :
121+ # TODO(stuartmorgan): Include stable once Linux is supported on stable.
122+ - flutter channel master
123+ - ./script/incremental_build.sh build-examples --linux
124+ - xvfb-run ./script/incremental_build.sh drive-examples --linux
125+
126+ task :
127+ # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
128+ only_if : $CIRRUS_TAG == ''
50129 use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
51130 osx_instance :
52- image : mojave-xcode-10.2-flutter
53- setup_script :
54- - pod repo update
131+ image : catalina-xcode-11.3.1-flutter
55132 upgrade_script :
133+ - flutter channel stable
134+ - flutter upgrade
56135 - flutter channel master
57136 - flutter upgrade
58137 - git fetch origin master
59- activate_script :
60- - pub global activate flutter_plugin_tools
138+ activate_script : pub global activate flutter_plugin_tools
61139 create_simulator_script :
62140 - xcrun simctl list
63- - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-12-2 | xargs xcrun simctl boot
141+ - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13-3 | xargs xcrun simctl boot
64142 matrix :
65143 - name : build_all_plugins_ipa
66- script : ./script/build_all_plugins_app.sh ios --no-codesign
144+ script :
145+ # TODO(jackson): Allow web plugins once supported on stable
146+ # https://github.com/flutter/flutter/issues/42864
147+ - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
148+ - flutter channel $CHANNEL
149+ - ./script/build_all_plugins_app.sh ios --no-codesign
150+ - name : lint_darwin_plugins
151+ env :
152+ matrix :
153+ PLUGIN_SHARDING : " --shardIndex 0 --shardCount 2"
154+ PLUGIN_SHARDING : " --shardIndex 1 --shardCount 2"
155+ script :
156+ # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
157+ - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
158+ # Skip the dummy podspecs used to placate the tool.
159+ - find . -name "*_web*.podspec" -o -name "*_mac*.podspec" | xargs rm
160+ - ./script/incremental_build.sh podspecs --no-analyze camera --ignore-warnings camera
67161 - name : build-ipas+drive-examples
68162 env :
69163 PATH : $PATH:/usr/local/bin
@@ -72,7 +166,39 @@ task:
72166 PLUGIN_SHARDING : " --shardIndex 1 --shardCount 4"
73167 PLUGIN_SHARDING : " --shardIndex 2 --shardCount 4"
74168 PLUGIN_SHARDING : " --shardIndex 3 --shardCount 4"
169+ matrix :
170+ CHANNEL : " master"
171+ CHANNEL : " stable"
75172 SIMCTL_CHILD_MAPS_API_KEY : ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
76173 build_script :
174+ # TODO(jackson): Allow web plugins once supported on stable
175+ # https://github.com/flutter/flutter/issues/42864
176+ - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
177+ - flutter channel $CHANNEL
77178 - ./script/incremental_build.sh build-examples --ipa
78179 - ./script/incremental_build.sh drive-examples
180+ task :
181+ # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
182+ only_if : $CIRRUS_TAG == ''
183+ use_compute_credits : $CIRRUS_USER_COLLABORATOR == 'true'
184+ osx_instance :
185+ image : catalina-xcode-11.3.1-flutter
186+ setup_script :
187+ - flutter config --enable-macos-desktop
188+ upgrade_script :
189+ - flutter channel master
190+ - flutter upgrade
191+ - git fetch origin master
192+ activate_script : pub global activate flutter_plugin_tools
193+ matrix :
194+ - name : build_all_plugins_app
195+ script :
196+ - flutter channel master
197+ - ./script/build_all_plugins_app.sh macos
198+ - name : build-apps+drive-examples
199+ env :
200+ PATH : $PATH:/usr/local/bin
201+ build_script :
202+ - flutter channel master
203+ - ./script/incremental_build.sh build-examples --macos --no-ipa
204+ - ./script/incremental_build.sh drive-examples --macos
0 commit comments