gcp_credentials: ENCRYPTED[!cc769765170bebc37e0556e2da5915ca64ee37f4ec8c966ec147e2f59578b476c99e457eafce4e2f8b1a4e305f7096b8!]

env:
  CHANNEL: "master" # Default to master when not explicitly set by a task.

tool_setup_template: &TOOL_SETUP_TEMPLATE
  tool_setup_script:
    - .ci/scripts/prepare_tool.sh

flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE
  upgrade_flutter_script:
    # Master uses a pinned, auto-rolled version to prevent out-of-band CI
    # failures due to changes in Flutter.
    # TODO(stuartmorgan): Investigate an autoroller for stable as well.
    - TARGET_TREEISH=$CHANNEL
    - if [[ "$CHANNEL" == "master" ]]; then
    -   TARGET_TREEISH=$(< .ci/flutter_$CHANNEL.version)
    - fi
    # 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 channel.
    - git checkout $TARGET_TREEISH
    # When using a branch rather than a hash, reset to the upstream branch
    # rather than using pull, since the base image can sometimes be in a state
    # where it has diverged from upstream (!).
    - if [[ "$TARGET_TREEISH" == "$CHANNEL" ]]; then
    -   git reset --hard @{u}
    - fi
    # 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
        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
        CHANGE_DESC: "/tmp/change-description.txt"
      version_script:
        # For pre-submit, pass the PR description to the script to allow for
        # version check overrides.
        # For post-submit, ignore missing version/CHANGELOG detection; the PR
        # description isn't reliably part of the commit message, so using the
        # same flags as for presubmit would likely result in false-positive
        # post-submit failures.
        - if [[ $CIRRUS_PR == "" ]]; then
        -   ./script/tool_runner.sh version-check
        - else
        -   echo "$CIRRUS_CHANGE_MESSAGE" > "$CHANGE_DESC"
        -   ./script/tool_runner.sh version-check --check-for-missing-changes --change-description-file="$CHANGE_DESC"
        - fi
      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
      env:
        CHROME_NO_SANDBOX: true
      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
