| gcp_credentials: ENCRYPTED[!48cff44dd32e9cc412d4d381c7fe68d373ca04cf2639f8192d21cb1a9ab5e21129651423a1cf88f3fd7fe2125c1cabd9!] |
| |
| env: |
| CHANNEL: "master" # Default to master when not explicitly set by a task. |
| |
| tool_setup_template: &TOOL_SETUP_TEMPLATE |
| tool_setup_script: |
| - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work |
| # Pinned version of the plugin tools, to avoid breakage in this repository |
| # when pushing updates from flutter/plugins. |
| - dart pub global activate flutter_plugin_tools 0.7.1 |
| |
| flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE |
| upgrade_flutter_script: |
| # Ensure that the repository has all the branches. |
| - cd $FLUTTER_HOME |
| - git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" |
| - git fetch origin |
| # Switch to the requested branch. |
| - git checkout $CHANNEL |
| # Reset to upstream branch, rather than using pull, since the base image |
| # can sometimes be in a state where it has diverged from upstream (!). |
| - git reset --hard @{u} |
| # Run doctor to allow auditing of what version of Flutter the run is using. |
| - flutter doctor -v |
| << : *TOOL_SETUP_TEMPLATE |
| |
| task: |
| gke_container: |
| dockerfile: .ci/Dockerfile |
| builder_image_name: docker-builder # gce vm image |
| builder_image_project: flutter-cirrus |
| cluster_name: test-cluster |
| zone: us-central1-a |
| namespace: default |
| cpu: 4 |
| memory: 8G |
| << : *FLUTTER_UPGRADE_TEMPLATE |
| matrix: |
| - name: format+analyze |
| always: |
| format_script: ./script/tool_runner.sh format --fail-on-change --clang-format=clang-format-5.0 |
| license_script: dart pub global run flutter_plugin_tools license-check |
| analyze_script: ./script/tool_runner.sh analyze --custom-analysis=web_benchmarks/testing/test_app,flutter_lints/example,rfw/example |
| pubspec_script: ./script/tool_runner.sh pubspec-check |
| - name: publishable |
| env: |
| # TODO(stuartmorgan): Remove once the fix for https://github.com/dart-lang/pub/issues/3152 |
| # rolls into Flutter master. |
| CHANNEL: stable |
| version_script: ./script/tool_runner.sh version-check |
| publishable_script: ./script/tool_runner.sh publish-check |
| depends_on: |
| - format+analyze |
| - name: test |
| # Exclude flutter_image; its tests need a test server, so are run via local_tests.sh |
| script: ./script/tool_runner.sh test --exclude=flutter_image |
| depends_on: |
| - format+analyze |
| - name: android-build+platform-tests |
| env: |
| matrix: |
| CHANNEL: "master" |
| CHANNEL: "stable" |
| script: |
| # extension_google_sign_in_as_googleapis_auth is currently not building, see |
| # https://github.com/flutter/flutter/issues/89301 |
| # rfw is excluded until the next Flutter stable release because it depends |
| # on features that have never shipped to stable. (The rfw package has |
| # never worked on stable so this is not going to break anyone.) |
| # When updating this, also look at the ios tests below. |
| # When updating this, also update the `rfw/run_tests.sh` file. |
| - if [[ "$CHANNEL" == "master" ]]; then |
| - ./script/tool_runner.sh build-examples --apk --exclude=extension_google_sign_in_as_googleapis_auth |
| - ./script/tool_runner.sh native-test --android --no-integration |
| - else |
| - ./script/tool_runner.sh build-examples --apk --exclude=extension_google_sign_in_as_googleapis_auth,rfw |
| - ./script/tool_runner.sh native-test --android --no-integration --exclude=rfw |
| - fi |
| depends_on: |
| - format+analyze |
| - name: web_benchmarks_test |
| install_chromium_script: |
| - ./script/install_chromium.sh |
| script: |
| - export CHROME_EXECUTABLE=$(pwd)/.chromium/chrome-linux/chrome |
| - cd packages/web_benchmarks/testing/test_app |
| - flutter packages get |
| - cd ../.. |
| - flutter packages get |
| - dart testing/web_benchmarks_test.dart |
| |
| task: |
| name: ios-build+platform-test |
| use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' |
| osx_instance: |
| image: big-sur-xcode-12.4 |
| env: |
| PATH: $PATH:/usr/local/bin |
| matrix: |
| CHANNEL: "master" |
| CHANNEL: "stable" |
| << : *FLUTTER_UPGRADE_TEMPLATE |
| build_script: |
| # Exclude rfw until the next Flutter stable release because it depends |
| # on features that have never shipped to stable. (The rfw package has |
| # never worked on stable so this is not going to break anyone.) |
| # When updating this, also look at the android tests above. |
| # When updating this, also update the `rfw/run_tests.sh` file. |
| - if [[ "$CHANNEL" == "master" ]]; then |
| - ./script/tool_runner.sh build-examples --ios |
| - else |
| - ./script/tool_runner.sh build-examples --ios --exclude=rfw |
| - fi |
| |
| task: |
| name: local_tests |
| use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' |
| osx_instance: |
| image: big-sur-xcode-12.4 |
| env: |
| PATH: $PATH:/usr/local/bin |
| matrix: |
| CHANNEL: "master" |
| CHANNEL: "stable" |
| << : *FLUTTER_UPGRADE_TEMPLATE |
| local_tests_script: |
| - ./script/local_tests.sh |