task:
  # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
  only_if: $CIRRUS_TAG == ''
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
  container:
    dockerfile: .ci/Dockerfile
    cpu: 8
    memory: 16G
  env:
    INTEGRATION_TEST_PATH: "./packages/integration_test"
  upgrade_script:
    - flutter channel stable
    - flutter upgrade
    - flutter channel beta
    - flutter upgrade
    - flutter channel master
    - flutter upgrade
    - git fetch origin master
  matrix:
    - name: plugin_tools_tests
      script:
        - cd script/tool
        - pub get
        - CIRRUS_BUILD_ID=null pub run test
    - name: publishable
      script:
        - flutter channel master
        - ./script/check_publish.sh
    - name: format
      install_script:
        - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
        - sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
        - sudo apt-get update
        - sudo apt-get install -y --allow-unauthenticated clang-format-7
      format_script: ./script/incremental_build.sh format --travis --clang-format=clang-format-7
    - name: test
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
      test_script:
        # TODO(jackson): Allow web plugins once supported on stable
        # https://github.com/flutter/flutter/issues/42864
        - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
        - flutter channel $CHANNEL
        - ./script/incremental_build.sh test
    - name: analyze
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
      script: ./script/incremental_build.sh analyze
    - name: build_all_plugins_apk
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
      script:
        # TODO(jackson): Allow web plugins once supported on stable
        # https://github.com/flutter/flutter/issues/42864
        - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
        - flutter channel $CHANNEL
        - ./script/build_all_plugins_app.sh apk
    - name: integration_web_smoke_test
      # Tests integration example test in web.
      only_if: "changesInclude('.cirrus.yml', 'packages/integration_test/**') || $CIRRUS_PR == ''"
      install_script:
        - flutter config --enable-web
        - git clone https://github.com/flutter/web_installers.git
        - cd web_installers/packages/web_drivers/
        - pub get
        - dart lib/web_driver_installer.dart chromedriver --install-only
        - ./chromedriver/chromedriver --port=4444 &
      test_script:
        - cd $INTEGRATION_TEST_PATH/example/
        - flutter drive -v --driver=test_driver/integration_test.dart --target=integration_test/example_test.dart -d web-server --release --browser-name=chrome
    - name: build-apks+java-test+firebase-test-lab
      env:
        matrix:
          PLUGIN_SHARDING: "--shardIndex 0 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 1 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 2 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 3 --shardCount 4"
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
        MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
        GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4]
      script:
        # TODO(jackson): Allow web plugins once supported on stable
        # https://github.com/flutter/flutter/issues/42864
        - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
        - flutter channel $CHANNEL
        # 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=""
        - ./script/incremental_build.sh build-examples --apk
        - ./script/incremental_build.sh java-test  # must come after apk build
        - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then
        -   echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
        -   ./script/incremental_build.sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26
        - else
        -   echo "This user does not have permission to run Firebase Test Lab tests."
        - fi
        - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
        - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`

task:
  # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
  only_if: $CIRRUS_TAG == ''
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
  container:
    dockerfile: .ci/Dockerfile-LinuxDesktop
    cpu: 8
    memory: 16G
  env:
    INTEGRATION_TEST_PATH: "./packages/integration_test"
  upgrade_script:
    - flutter channel stable
    - flutter upgrade
    - flutter channel beta
    - flutter upgrade
    - flutter channel master
    - flutter upgrade
    - git fetch origin master
  matrix:
    - name: build-linux+drive-examples
      install_script:
        - flutter config --enable-linux-desktop
      build_script:
        # TODO(stuartmorgan): Include stable once Linux is supported on stable.
        - flutter channel master
        - ./script/incremental_build.sh build-examples --linux
        - xvfb-run ./script/incremental_build.sh drive-examples --linux

task:
  # Xcode 12 task
  # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
  only_if: $CIRRUS_TAG == ''
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: big-sur-xcode-12.3
  upgrade_script:
    - sudo gem install cocoapods
    - flutter channel stable
    - flutter upgrade
    - flutter channel beta
    - flutter upgrade
    - flutter channel master
    - flutter upgrade
    - git fetch origin master
  create_simulator_script:
    - xcrun simctl list
    - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.iOS-14-3 | xargs xcrun simctl boot
  matrix:
    - name: build_all_plugins_ipa
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
      script:
        # TODO(jackson): Allow web plugins once supported on stable
        # https://github.com/flutter/flutter/issues/42864
        - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
        - flutter channel $CHANNEL
        - ./script/build_all_plugins_app.sh ios --no-codesign
    - name: build-ipas+drive-examples
      env:
        PATH: $PATH:/usr/local/bin
        PLUGINS_TO_SKIP_XCTESTS: "battery/battery,camera/camera,connectivity/connectivity,device_info/device_info,espresso,google_maps_flutter/google_maps_flutter,google_sign_in/google_sign_in,in_app_purchase,integration_test,ios_platform_images,local_auth,package_info,path_provider/path_provider,sensors,shared_preferences/shared_preferences,url_launcher/url_launcher,video_player/video_player,wifi_info_flutter/wifi_info_flutter"
        matrix:
          PLUGIN_SHARDING: "--shardIndex 0 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 1 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 2 --shardCount 4"
          PLUGIN_SHARDING: "--shardIndex 3 --shardCount 4"
        matrix:
          CHANNEL: "master"
          CHANNEL: "beta"
          CHANNEL: "stable"
        SIMCTL_CHILD_MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
      build_script:
        # TODO(jackson): Allow web plugins once supported on stable
        # https://github.com/flutter/flutter/issues/42864
        - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi
        - flutter channel $CHANNEL
        - flutter upgrade
        - ./script/incremental_build.sh build-examples --ipa
        - ./script/incremental_build.sh xctest --target RunnerUITests --skip $PLUGINS_TO_SKIP_XCTESTS --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=14.3"
        # `drive-examples` contains integration tests, which changes the UI of the application.
        # This UI change sometimes affects `xctest`.
        # So we run `drive-examples` after `xctest`, changing the order will result ci failure.
        - ./script/incremental_build.sh drive-examples --ios

task:
  # Xcode 11 task
  # TODO(cyanglaz): merge Xcode 11 task to Xcode 12 task when all the matrix can be run in Xcode 12.
  # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
  only_if: $CIRRUS_TAG == ''
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: catalina-xcode-11.3.1-flutter
  upgrade_script:
    - sudo gem install cocoapods
    - flutter channel stable
    - flutter upgrade
    - flutter channel master
    - flutter upgrade
    - git fetch origin master
  create_simulator_script:
    - xcrun simctl list
    - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13-3 | xargs xcrun simctl boot
  matrix:
    - name: lint_darwin_plugins
      env:
        matrix:
          PLUGIN_SHARDING: "--shardIndex 0 --shardCount 2"
          PLUGIN_SHARDING: "--shardIndex 1 --shardCount 2"
      script:
        # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
        - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
        # Skip the dummy podspecs used to placate the tool.
        - find . -name "*_web*.podspec" -o -name "*_mac*.podspec" | xargs rm
        - ./script/incremental_build.sh podspecs

task:
  # don't run on release tags since it creates O(n^2) tasks where n is the number of plugins
  only_if: $CIRRUS_TAG == ''
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: big-sur-xcode-12.3
  setup_script:
    - flutter config --enable-macos-desktop
  upgrade_script:
    - sudo gem install cocoapods
    - flutter channel master
    - flutter upgrade
    - git fetch origin master
  matrix:
    - name: build_all_plugins_app
      script:
        - flutter channel master
        - ./script/build_all_plugins_app.sh macos
    - name: build-apps+drive-examples
      env:
        PATH: $PATH:/usr/local/bin
      build_script:
        - flutter channel master
        - ./script/incremental_build.sh build-examples --macos --no-ipa
        - ./script/incremental_build.sh drive-examples --macos
