gcp_credentials: ENCRYPTED[!f1177d1ddb5330ffaa9ea11c9c9e8e0c542185e895c36071f18cec923dd31c50ece6d18da89c2f6f1cd2d1a98d0c2eea!]

# Run on PRs and main branch post submit only. Don't run tests when tagging.
only_if: $CIRRUS_TAG == '' && ($CIRRUS_PR != '' || $CIRRUS_BRANCH == 'main')
env:
  CHANNEL: "master" # Default to master when not explicitly set by a task.

install_chrome_linux_template: &INSTALL_CHROME_LINUX
  env:
    CHROME_NO_SANDBOX: true
    CHROME_DOWNLOAD_DIR: /tmp/chromium
    CHROME_EXECUTABLE: $CHROME_DOWNLOAD_DIR/chrome-linux/chrome
    CHROMEDRIVER_EXECUTABLE: $CHROME_DOWNLOAD_DIR/chromedriver/chromedriver
    PATH: $PATH:$CHROME_DOWNLOAD_DIR/chrome-linux
  install_chromium_script:
    # Install a pinned version of Chromium and its corresponding ChromeDriver.
    # Setting CHROME_EXECUTABLE above causes this version to be used for tests.
    - ./script/install_chromium.sh "$CHROME_DIR"

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

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'
  macos_instance:
    image: ghcr.io/cirruslabs/macos-ventura-xcode:14

flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE
  upgrade_flutter_script:
    # Channels that are part of our normal test matrix use a pinned,
    # auto-rolled version to prevent out-of-band CI failures due to changes in
    # Flutter.
    - TARGET_TREEISH=$CHANNEL
    - if [[ "$CHANNEL" == "master" || "$CHANNEL" == "stable" ]]; 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 or version tag, 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" ]] && [[ "$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-linux # gce vm image
    builder_image_project: flutter-cirrus
    cluster_name: test-cluster
    zone: us-central1-a
    namespace: default
    cpu: 4
    memory: 12G
  << : *FLUTTER_UPGRADE_TEMPLATE
  matrix:
    ### Platform-agnostic tasks ###
    - 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=script/configs/custom_analysis.yaml
        pathified_analyze_script:
          # Run analysis with path-based dependencies to ensure that publishing
          # the changes won't break analysis of other packages in the respository
          # that depend on it.
          - ./script/tool_runner.sh make-deps-path-based  --target-dependencies-with-non-breaking-updates
          # This uses --run-on-dirty-packages rather than --packages-for-branch
          # since only the packages changed by 'make-deps-path-based' need to be
          # checked.
          - dart pub global run flutter_plugin_tools analyze --run-on-dirty-packages --custom-analysis=script/configs/custom_analysis.yaml
          # Restore the tree to a clean state
          - git checkout .
        pubspec_script: ./script/tool_runner.sh pubspec-check
        readme_script:
          - ./script/tool_runner.sh readme-check
          # Re-run with --require-excerpts, skipping packages that still need
          # to be converted. Once https://github.com/flutter/flutter/issues/102679
          # has been fixed, this can be removed and there can just be a single
          # run with --require-excerpts and no exclusions.
          - ./script/tool_runner.sh readme-check --require-excerpts --exclude=script/configs/temp_exclude_excerpt.yaml
    - name: readme_excerpts
      env:
        CIRRUS_CLONE_SUBMODULES: true
      script: ./script/tool_runner.sh update-excerpts --fail-on-change
    # Does a sanity check that packages at least pass analysis on the N-1 and N-2
    # versions of Flutter stable if the package claims to support that version.
    # This is to minimize accidentally making changes that break old versions
    # (which we don't commit to supporting, but don't want to actively break)
    # without updating the constraints.
    # Note: The versions below should be manually updated after a new stable
    # version comes out.
    - name: legacy-version-analyze
      depends_on: format+analyze
      matrix:
        env:
          CHANNEL: "3.0.5"
          DART_VERSION: "2.17.6"
        env:
          CHANNEL: "2.10.5"
          DART_VERSION: "2.16.2"
      package_prep_script:
        # Allow analyzing packages that use a dev dependency with a higher
        # minimum Flutter/Dart version than the package itself.
        - ./script/tool_runner.sh remove-dev-dependencies
      analyze_script:
        - ./script/tool_runner.sh analyze --lib-only --skip-if-not-supporting-flutter-version="$CHANNEL" --skip-if-not-supporting-dart-version="$DART_VERSION" --custom-analysis=script/configs/custom_analysis.yaml
    # Does a sanity check that packages pass analysis with the lowest possible
    # versions of all dependencies. This is to catch cases where we add use of
    # new APIs but forget to update minimum versions of dependencies to where
    # those APIs are introduced.
    - name: downgraded_analyze
      depends_on: format+analyze
      analyze_script:
        - ./script/tool_runner.sh analyze --downgrade --custom-analysis=script/configs/custom_analysis.yaml
    - 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" --pr-labels="$CIRRUS_PR_LABELS"
        - fi
      publishable_script: ./script/tool_runner.sh publish-check --allow-pre-release
      depends_on:
        - format+analyze
    - name: dart_unit_tests
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      unit_test_script:
        - ./script/tool_runner.sh test --exclude=script/configs/dart_unit_tests_exceptions.yaml
      pathified_unit_test_script:
        # Run tests with path-based dependencies to ensure that publishing
        # the changes won't break tests of other packages in the respository
        # that depend on it.
        - ./script/tool_runner.sh make-deps-path-based --target-dependencies-with-non-breaking-updates
        - dart pub global run flutter_plugin_tools test --run-on-dirty-packages --exclude=script/configs/dart_unit_tests_exceptions.yaml
      depends_on:
        - format+analyze
    - name: linux-custom_package_tests
      env:
        PATH: $PATH:/usr/local/bin
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      << : *INSTALL_CHROME_LINUX
      local_tests_script:
        # pigeon tests currently don't support Linux:
        #   https://github.com/flutter/flutter/issues/100386
        # flutter_image
        #   https://github.com/flutter/flutter/issues/100387
        - if [[ "$CHANNEL" == "master" ]]; then
        -   ./script/tool_runner.sh custom-test --exclude=pigeon
        - else
        -   ./script/tool_runner.sh custom-test --exclude=pigeon,flutter_image
        - fi
    ### Android tasks ###
    - name: android-platform_tests
      env:
        matrix:
          PACKAGE_SHARDING: "--shardIndex 0 --shardCount 2"
          PACKAGE_SHARDING: "--shardIndex 1 --shardCount 2"
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      build_script:
        # extension_google_sign_in_as_googleapis_auth is currently not building, see
        # https://github.com/flutter/flutter/issues/89301
        - ./script/tool_runner.sh build-examples --apk --exclude=extension_google_sign_in_as_googleapis_auth
      native_unit_test_scipt:
        - ./script/tool_runner.sh native-test --android --no-integration
      depends_on:
        - format+analyze
    ### Web tasks ###
    - name: web-platform_tests
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      << : *INSTALL_CHROME_LINUX
      chromedriver_background_script:
        - $CHROMEDRIVER_EXECUTABLE --port=4444
      build_script:
        - ./script/tool_runner.sh build-examples --web
      drive_script:
        - ./script/tool_runner.sh drive-examples --web
    - name: web_benchmarks_test
      env:
        matrix:
          CHROMIUM_BUILD: "768968" # Chromium 84.0.4147.0
          CHROMIUM_BUILD: "950363" # Chromium 98.0.4758.0
      << : *INSTALL_CHROME_LINUX
      script:
        - cd packages/web_benchmarks/testing/test_app
        - flutter packages get
        - cd ../..
        - flutter packages get
        - dart testing/web_benchmarks_test.dart
    ### Linux desktop tasks ###
    - name: linux-platform_tests
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      build_script:
        - flutter config --enable-linux-desktop
        - ./script/tool_runner.sh build-examples --linux
      native_test_script:
        - ./script/tool_runner.sh native-test --linux --no-integration

task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  << : *MACOS_TEMPLATE
  matrix:
    ### iOS tasks ###
    - name: ios-platform_tests
      env:
        PATH: $PATH:/usr/local/bin
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      create_simulator_script:
        - xcrun simctl list
        - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-13 com.apple.CoreSimulator.SimRuntime.iOS-16-0 | xargs xcrun simctl boot
      build_script:
        - ./script/tool_runner.sh build-examples --ios
      native_test_script:
        - ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 13,OS=latest"
    - name: macos-custom_package_tests
      # Run on macOS x64 image with Java runtime installed.
      env:
        PATH: $PATH:/usr/local/bin
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      local_tests_script:
        # flutter_image
        #   https://github.com/flutter/flutter/issues/100387
        # cross_file
        #   Custom tests need Chrome. (They run in linux-custom_package_tests)
        - if [[ "$CHANNEL" == "master" ]]; then
        -   ./script/tool_runner.sh custom-test --exclude=cross_file
        - else
        -   ./script/tool_runner.sh custom-test --exclude=cross_file,flutter_image
        - fi
    ### macOS desktop tasks ###
    - name: macos-platform_tests
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
        PATH: $PATH:/usr/local/bin
      build_script:
        - flutter config --enable-macos-desktop
        - ./script/tool_runner.sh build-examples --macos
      native_test_script:
        - ./script/tool_runner.sh native-test --macos
