# 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 == ''
env:
  INTEGRATION_TEST_PATH: "./packages/integration_test"
  CHANNEL: "master" # Default to master when not explicitly set by a task.
  PLUGIN_TOOLS: "dart run ./script/tool/lib/src/main.dart"

tool_setup_template: &TOOL_SETUP_TEMPLATE
  tool_setup_script:
    - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
    - cd script/tool
    - pub get

flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE
  upgrade_flutter_script:
    - flutter channel $CHANNEL
    - flutter upgrade
  << : *TOOL_SETUP_TEMPLATE

macos_template: &MACOS_TEMPLATE
  # Only one macOS task can run in parallel without credits, so use them for
  # PRs on macOS.
  use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
  osx_instance:
    image: big-sur-xcode-12.3
  cocoapod_install_script: sudo gem install cocoapods

# Light-workload Linux tasks.
# These use default machines, with fewer CPUs, to reduce pressure on the
# concurrency limits.
task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  container:
    dockerfile: .ci/Dockerfile
  matrix:
    ### Platform-agnostic tasks ###
    - name: plugin_tools_tests
      script:
        - cd script/tool
        - CIRRUS_BUILD_ID=null pub run test
    - name: publishable
      script:
        - if [[ "$CIRRUS_BRANCH" == "master" ]]; then
        -   $PLUGIN_TOOLS version-check
        - else
        -   $PLUGIN_TOOLS version-check --run-on-changed-packages
        - fi
        - ./script/check_publish.sh
    - name: format
      format_script: ./script/incremental_build.sh format --fail-on-change
    - name: test
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      test_script:
        - ./script/incremental_build.sh test
    - name: analyze_master
      env:
        matrix:
          CHANNEL: "master"
      script:
        - ./script/incremental_build.sh analyze
    ## TODO(cyanglaz):
    ## Combing stable and master analyze jobs when integration test null safety is ready on flutter stable.
    - name: analyze_stable
      env:
        matrix:
          CHANNEL: "stable"
      script:
        - find . -depth -type d -wholename '*_web/example' -exec rm -rf {} \;
        - ./script/incremental_build.sh analyze
    ### Android tasks ###
    - name: build_all_plugins_apk
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      script:
        - ./script/build_all_plugins_app.sh apk
    ### Web tasks ###
    - name: build_all_plugins_web
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      script:
        - ./script/build_all_plugins_app.sh web
    - name: build-web-examples
      env:
        matrix:
          CHANNEL: "master"
      build_script:
        - ./script/incremental_build.sh build-examples --web
        # TODO: Add driving examples (and move to heavy-workload group).
    ### Linux desktop tasks ###
    - name: build_all_plugins_linux
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      script:
        - flutter config --enable-linux-desktop
        - ./script/build_all_plugins_app.sh linux
    - name: build-linux+drive-examples
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      build_script:
        - flutter config --enable-linux-desktop
        - ./script/incremental_build.sh build-examples --linux
        - xvfb-run ./script/incremental_build.sh drive-examples --linux

# Legacy Dockerfile configuration for web integration tests.
# https://github.com/flutter/web_installers doesn't yet support the current
# stable version of Chrome, so newly-generated Docker images don't work.
# TODO: Merge this task into the "Web tasks" section of the "Light-workload
# tasks" block above once web_installers has been updated to support Chrome 89
# (which is what the current image generated from .ci/Dockerfile has).
task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  container:
    dockerfile: .ci/Dockerfile-LegacyChrome
  matrix:
    - name: integration_web_smoke_test
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      # Tests integration example test in web.
      only_if: "changesInclude('.cirrus.yml', 'packages/integration_test/**') || $CIRRUS_PR == ''"
      install_script:
        - 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

# Heavy-workload Linux tasks.
# These use machines with more CPUs and memory, so will reduce parallelization
# for non-credit runs.
task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  container:
    dockerfile: .ci/Dockerfile
    cpu: 4
    memory: 12G
  matrix:
    ### Android tasks ###
    - 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: "stable"
        MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
        GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4]
      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=""
        - ./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`

# macOS tasks.
task:
  << : *MACOS_TEMPLATE
  << : *FLUTTER_UPGRADE_TEMPLATE
  matrix:
    ### iOS tasks ###
    - name: build_all_plugins_ipa
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      script:
        - ./script/build_all_plugins_app.sh ios --no-codesign
    - name: build-ipas+drive-examples
      env:
        PATH: $PATH:/usr/local/bin
        PLUGINS_TO_SKIP_XCTESTS: "integration_test"
        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: "stable"
        SIMCTL_CHILD_MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
      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
      build_script:
        - ./script/incremental_build.sh build-examples --ipa
        - ./script/incremental_build.sh xctest --skip $PLUGINS_TO_SKIP_XCTESTS --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest"
        # `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
    ### macOS desktop tasks ###
    - name: build_all_plugins_macos
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      script:
        - flutter config --enable-macos-desktop
        - ./script/build_all_plugins_app.sh macos
    - name: build-macos+drive-examples
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
        PATH: $PATH:/usr/local/bin
      build_script:
        - flutter config --enable-macos-desktop
        - ./script/incremental_build.sh build-examples --macos --no-ipa
        - ./script/incremental_build.sh drive-examples --macos

task:
  # Don't use FLUTTER_UPGRADE_TEMPLATE, Flutter tooling not needed.
  << : *MACOS_TEMPLATE
  << : *TOOL_SETUP_TEMPLATE
  matrix:
    - name: lint_darwin_plugins
      script:
        # TODO(jmagman): Lint macOS podspecs but skip any that fail library validation.
        - find . -name "*.podspec" | xargs grep -l "osx" | xargs rm
        - ./script/incremental_build.sh podspecs
