container:
  image: gcr.io/flutter-cirrus/build-flutter-image:latest

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
  env:
    # Name the SDK directory to include a space so that we constantly
    # test path names with spaces in them.
    CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
    PATH: "$CIRRUS_WORKING_DIR/bin:$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin:$PATH"
    ANDROID_SDK_ROOT: "/opt/android_sdk"
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
  pub_cache:
    folder: $HOME/.pub-cache
    fingerprint_script: echo $OS; grep -r --include=pubspec.yaml 'PUBSPEC CHECKSUM' "$CIRRUS_WORKING_DIR"
  flutter_pkg_cache:
    folder: bin/cache/pkg
    fingerprint_script: echo $OS; cat bin/internal/engine.version
  artifacts_cache:
    folder: bin/cache/artifacts
    fingerprint_script: echo $OS; cat bin/internal/*.version
  setup_script: ./dev/bots/cirrus_setup.sh
  matrix:
    - name: docs
      env:
        SHARD: docs
        # For uploading master docs to Firebase master branch staging site
        FIREBASE_MASTER_TOKEN: ENCRYPTED[eb768d18798fdc5abfe09b224e1724c4d82831d715ccf90df2c79d618c317216cbd99493278361f6fe7948b409b603f0]
        # For uploading beta docs to Firebase public live site
        FIREBASE_PUBLIC_TOKEN: ENCRYPTED[37e8b82f167864cae9a3f4d2cf3f37dea331d9375c295327c45de524f6c588fa6f6d63e5784f10f6d43ce29689f36c92]
      docs_script: ./dev/bots/docs.sh
    - name: deploy_gallery
      depends_on:
        - docs
        - analyze
        - build_tests-linux
      env:
        SHARD: deploy_gallery
        GOOGLE_DEVELOPER_SERVICE_ACCOUNT_ACTOR_FASTLANE: ENCRYPTED[d9ac1462c3c556fc2f8165c9d5566a16497d8ebc38a50357f7f3abf136b7f83e1d1d76dde36fee356cb0f9ebf7a89346]
        ANDROID_GALLERY_UPLOAD_KEY: ENCRYPTED[0f2aca35f05b26add5d9edea2a7449341269a2b7e22d5c667f876996e2e8bc44ff1369431ebf73b7c5581fd95d0e5902]
      test_script:
        # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
        # might include non-ASCII characters which makes Gradle crash.
        # See: https://github.com/flutter/flutter/issues/24935
        # This is a temporary workaround until we figure how to properly configure
        # a UTF8 locale on Cirrus (or until the Gradle bug is fixed).
        # TODO(amirh): Set the locale to UTF8.
        - echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
        - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
        - export CIRRUS_CHANGE_MESSAGE=""
        - export CIRRUS_COMMIT_MESSAGE=""
        - ./dev/bots/deploy_gallery.sh
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
    - name: analyze
      test_script:
        - dart --enable-asserts ./dev/bots/analyze.dart
    - name: tests_widgets-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: widgets
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    - name: tests_framework_other-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: framework_other
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    - name: tests_extras-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: extras
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    # all of the tests except the ones in test/integration and test/commands/create_test for packages/flutter_tools
    - name: tool_tests-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: tool
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    - name: tool_tests_create-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: create
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    # all of the tests in test/integration for packages/flutter_tools
    - name: tool_tests_integration-linux
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: integration
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
      container:
        cpu: 4
        memory: 12G
    - name: tool_coverage-linux
      skip: "!changesInclude('packages/flutter_tools/**/*.dart') && $CIRRUS_BRANCH != 'master'"
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        CODECOV_TOKEN: ENCRYPTED[7c76a7f8c9264f3b7f3fd63fcf186f93c62c4dfe43ec288861c2f506d456681032b89efe7b7a139c82156350ca2c752c]
        SHARD: tool_coverage
      test_script:
        - dart --enable-asserts ./dev/bots/test.dart
        - bash <(curl -s https://codecov.io/bash) -c -s ./packages/flutter_tools/coverage/ -f '*.lcov.info' -F flutter_tool
      container:
        cpu: 8
        memory: 24G
    # TODO(jonahwilliams): re-enabled once we've determined causes for flakiness
    # - name: web_tests-linux
    #   allow_failures: true
    #   env:
    #     SHARD: web_tests
    #   test_script:
    #     - dart --enable-asserts ./dev/bots/test.dart
    #   container:
    #     cpu: 4
    #     memory: 12G
    - name: build_tests-linux
      env:
        SHARD: build_tests
    - name: integration_tests-linux
      env:
        SHARD: integration_tests
      test_script:
        # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
        # might include non-ASCII characters which makes Gradle crash.
        # See: https://github.com/flutter/flutter/issues/24935
        # This is a temporary workaround until we figure how to properly configure
        # a UTF8 locale on Cirrus (or until the Gradle bug is fixed).
        # TODO(amirh): Set the locale to UTF8.
        - echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
        - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
        - export CIRRUS_CHANGE_MESSAGE=""
        - export CIRRUS_COMMIT_MESSAGE=""
        - dart --enable-asserts ./dev/bots/test.dart
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
      container:
        cpu: 4
        memory: 12G
    - name: integration_tests_gradle1-linux
      env:
        SHARD: integration_tests
        SUBSHARD: gradle1
      test_script:
        # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
        # might include non-ASCII characters which makes Gradle crash.
        # See: https://github.com/flutter/flutter/issues/24935
        # This is a temporary workaround until we figure how to properly configure
        # a UTF8 locale on Cirrus (or until the Gradle bug is fixed).
        # TODO(amirh): Set the locale to UTF8.
        - echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
        - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
        - export CIRRUS_CHANGE_MESSAGE=""
        - export CIRRUS_COMMIT_MESSAGE=""
        - dart --enable-asserts ./dev/bots/test.dart
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
      container:
        cpu: 4
        memory: 12G
    - name: integration_tests_gradle2-linux
      env:
        SHARD: integration_tests
        SUBSHARD: gradle2
      test_script:
        # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
        # might include non-ASCII characters which makes Gradle crash.
        # See: https://github.com/flutter/flutter/issues/24935
        # This is a temporary workaround until we figure how to properly configure
        # a UTF8 locale on Cirrus (or until the Gradle bug is fixed).
        # TODO(amirh): Set the locale to UTF8.
        - echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
        - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
        - export CIRRUS_CHANGE_MESSAGE=""
        - export CIRRUS_COMMIT_MESSAGE=""
        - dart --enable-asserts ./dev/bots/test.dart
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
      container:
        cpu: 4
        memory: 12G
    - name: release_smoke_tests
      env:
        CLOUDSDK_CORE_DISABLE_PROMPTS: 1
        GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[1c140257edc48f5578fa5a0e5038b84c8e53270c405efa5a8e35ea303a4e0d135853989f448f72136206de854d17fbec]
      test_script:
        - echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
        - echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
        - export CIRRUS_CHANGE_MESSAGE=""
        - export CIRRUS_COMMIT_MESSAGE=""
        - ./dev/bots/firebase_testlab.sh
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
    - name: customer_testing-linux
      script:
        - rm -rf bin/cache/pkg/tests
        - git clone https://github.com/flutter/tests.git bin/cache/pkg/tests
        - dart --enable-asserts dev/customer_testing/run_tests.dart --skip-on-fetch-failure --skip-template bin/cache/pkg/tests/registry/*.test

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
  windows_container:
    image: cirrusci/android-sdk:28-windowsservercore-2019
    os_version: 2019
    cpu: 4
  env:
    CIRRUS_WORKING_DIR: "C:\\Windows\\Temp\\flutter sdk"
    PATH: "$CIRRUS_WORKING_DIR/bin;$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin;$PATH"
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
  pub_cache:
    folder: $APPDATA\Pub\Cache
    fingerprint_script:
      - ps:  $Env:OS; Get-ChildItem -Path "$Env:CIRRUS_WORKING_DIR" pubspec.yaml -Recurse | Select-String -Pattern "PUBSPEC CHECKSUM" -SimpleMatch
  flutter_pkg_cache:
    folder: bin\cache\pkg
    fingerprint_script: echo %OS% & type bin\internal\engine.version
  artifacts_cache:
    folder: bin\cache\artifacts
    fingerprint_script: echo %OS% & type bin\internal\engine.version
  setup_script:
    - flutter config --no-analytics
    - flutter doctor -v
    - flutter update-packages
    - git fetch origin master
  test_all_script:
    - dart --enable-asserts dev\bots\test.dart
  matrix:
    # all of the tests except test/integration and test/commands/create_test for packages/flutter_tools
    - name: tool_tests-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: tool
        SHARD_INDEX: 1
    # all of the tests in test/commands/create_test
    - name: tool_tests_create-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: create
    # all of the tests in test/integration for packages/flutter_tools
    - name: tool_tests_integration-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: integration

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
  windows_container:
    image: cirrusci/android-sdk:28-windowsservercore-2019
    os_version: 2019
    cpu: 4
  env:
    CIRRUS_WORKING_DIR: "C:\\Windows\\Temp\\flutter sdk"
    PATH: "$CIRRUS_WORKING_DIR/bin;$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin;$PATH"
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
  pub_cache:
    folder: $APPDATA\Pub\Cache
    fingerprint_script:
      - ps:  $Env:OS; Get-ChildItem -Path "$Env:CIRRUS_WORKING_DIR" pubspec.yaml -Recurse | Select-String -Pattern "PUBSPEC CHECKSUM" -SimpleMatch
  flutter_pkg_cache:
    folder: bin\cache\pkg
    fingerprint_script: echo %OS% & type bin\internal\engine.version
  artifacts_cache:
    folder: bin\cache\artifacts
    fingerprint_script: echo %OS% & type bin\internal\*.version
  setup_script:
    - flutter config --no-analytics
    - flutter doctor -v
    - flutter update-packages
    - git fetch origin master
  matrix:
    - name: tests_widgets-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: widgets
      test_all_script:
        - dart --enable-asserts dev\bots\test.dart
    - name: tests_framework_other-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: framework_other
      test_all_script:
        - dart --enable-asserts dev\bots\test.dart
    - name: tests_extras-windows
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: extras
      test_all_script:
        - dart --enable-asserts dev\bots\test.dart
    - name: build_tests-windows
      env:
        SHARD: build_tests
      container:
        cpu: 4
        memory: 12G
      test_all_script:
        - dart --enable-asserts dev\bots\test.dart
    - name: integration_tests-windows
      env:
        SHARD: integration_tests
      container:
        cpu: 4
        memory: 12G
      test_all_script:
        - dart --enable-asserts dev\bots\test.dart
    - name: customer_testing-windows
      test_script:
        - CMD /S /C "IF EXIST "bin\cache\pkg\tests\" RMDIR /S /Q bin\cache\pkg\tests"
        - git clone https://github.com/flutter/tests.git bin\cache\pkg\tests
        - dart --enable-asserts dev\customer_testing\run_tests.dart --skip-on-fetch-failure --skip-template bin/cache/pkg/tests/registry/*.test

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  name: deploy_gallery-macos
  pub_cache:
    folder: ~/.pub-cache
  depends_on:
    - analyze
    - build_tests-macos
  env:
    # Name the SDK directory to include a space so that we constantly
    # test path names with spaces in them.
    CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
    SHARD: deploy_gallery
    # Apple Fastlane password.
    FASTLANE_PASSWORD: ENCRYPTED[4b1f0b8d52874e9de965acd46c79743f3b81f3a513614179b9be7cf53dc8258753e257bdadb11a298ee455259df21865]
    # Private repo for publishing certificates.
    PUBLISHING_MATCH_CERTIFICATE_REPO: ENCRYPTED[3c0e78877d933fc80107aa6f3790fd1cf927250b852d6cb53202be696b4903ed8ca839b809626aaf18050bf7e436fab7]
    PUBLISHING_MATCH_REPO_TOKEN: ENCRYPTED[3d1230b744c6ed6c788a91bec741b769401dbcd426b18f9af8080bfeefdfc21913ca4047980c5b5b7ce823f12e7b6b19]
    # Apple Certificates Match Passphrase
    MATCH_PASSWORD: ENCRYPTED[db07f252234397090e3ec59152d9ec1831f5ecd0ef97d247b1dca757bbb9ef9b7c832a39bce2caf1949ccdf097e59a73]
  osx_instance:
    image: mojave-xcode-10.1
  # occasionally the clock on these machines is out of sync
  # with the actual time - this should help to verify
  print_date_script:
    - date
  install_cocoapods_script:
    - sudo gem install cocoapods
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD
  setup_script:
    - bin/flutter config --no-analytics
    - bin/flutter update-packages
  test_all_script:
    - ./dev/bots/deploy_gallery.sh

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: mojave-xcode-10.1
  depends_on:
    - analyze
  env:
    CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
    COCOAPODS_DISABLE_STATS: true
  print_date_script:
    - date
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
  pub_cache:
    folder: $HOME/.pub-cache
    fingerprint_script: echo $OS; grep -r --include=pubspec.yaml 'PUBSPEC CHECKSUM' "$CIRRUS_WORKING_DIR"
  flutter_pkg_cache:
    folder: bin/cache/pkg
    fingerprint_script: echo $OS; cat bin/internal/engine.version
  artifacts_cache:
    folder: bin/cache/artifacts
    fingerprint_script: echo $OS; cat bin/internal/engine.version
  setup_script:
    - bin/flutter config --no-analytics
    - bin/flutter doctor -v
    - bin/flutter update-packages
  test_all_script:
    - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
    - bin/cache/dart-sdk/bin/dart --enable-asserts dev/bots/test.dart
  matrix:
    # all of the tests except test/integration and test/commands/create_test for packages/flutter_tools
    - name: tool_tests-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: tool
        SHARD_INDEX: 1
    # all of the tests in test/commands/create_test
    - name: tool_tests_create-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: create
    # all of the tests in test/integration for packages/flutter_tools
    - name: tool_tests_integration-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tool_tests
        SUBSHARD: integration

task:
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: mojave-xcode-10.1
  depends_on:
    - analyze
  env:
    CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
    COCOAPODS_DISABLE_STATS: true
    PATH: "$CIRRUS_WORKING_DIR/bin:$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin:$PATH"
  # occasionally the clock on these machines is out of sync
  # with the actual time - this should help to verify
  print_date_script:
    - date
  install_cocoapods_script:
    - sudo gem install cocoapods
  git_fetch_script:
    - git clean -xfd
    - git fetch origin
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
  pub_cache:
    folder: $HOME/.pub-cache
    fingerprint_script: echo $OS; grep -r --include=pubspec.yaml 'PUBSPEC CHECKSUM' "$CIRRUS_WORKING_DIR"
  flutter_pkg_cache:
    folder: bin/cache/pkg
    fingerprint_script: echo $OS; cat bin/internal/engine.version
  artifacts_cache:
    folder: bin/cache/artifacts
    fingerprint_script: echo $OS; cat bin/internal/engine.version
  setup_script:
    - bin/flutter config --no-analytics
    - bin/flutter doctor -v
    - bin/flutter update-packages
  matrix:
    - name: tests_widgets-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: widgets
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: tests_framework_other-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: framework_other
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: tests_extras-macos
      env:
        GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
        SHARD: tests
        SUBSHARD: extras
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: build_tests-macos
      env:
        SHARD: build_tests
        COCOAPODS_DISABLE_STATS: true
        FLUTTER_FRAMEWORK_DIR: "/tmp/flutter sdk/bin/cache/artifacts/engine/ios/"
      osx_instance:
        image: mojave-flutter
      remove_preinstalled_flutter_script: rm -rf $FLUTTER_HOME
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: integration_tests-macos
      env:
        SHARD: integration_tests
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: add2app-macos
      env:
        SHARD: add2app_test
      test_all_script:
        - ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
        - dart --enable-asserts dev/bots/test.dart
    - name: customer_testing-macos
      test_script:
        - rm -rf bin/cache/pkg/tests
        - git clone https://github.com/flutter/tests.git bin/cache/pkg/tests
        - dart --enable-asserts dev/customer_testing/run_tests.dart --skip-on-fetch-failure --skip-template bin/cache/pkg/tests/registry/*.test

docker_builder:
  # Only build a new docker image when we tag a release (for dev, beta, or release.)
  only_if: $CIRRUS_TAG != ''
  env:
    GCLOUD_CREDENTIALS: ENCRYPTED[f7c098d4dd7f5ee1bfee0bb7e944cce72efbe10e97ad6440ae72de4de6a1c24d23f421a2619c668e94377fb64b0bb3e6]
  depends_on:
    - docs
    - analyze
    - tests_widgets-linux
    - tests_framework_other-linux
    - tests_extras-linux
    - tool_tests-linux
    - tool_tests_create-linux
    - tool_tests_integration-linux
    - build_tests-linux
    - integration_tests-linux
    - integration_tests_gradle-linux
  build_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_build.sh"
  login_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_login.sh"
  push_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_push.sh"
