gcp_credentials: ENCRYPTED[!9e38557f08108136b3625b7e62c64cc9eccc50365ffeaaa55c6be52f1d8fd6225af5badc69983ca08484274f02f34424!]

# 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.
  PLUGIN_TOOL_COMMAND: "dart ./script/tool/bin/flutter_plugin_tools.dart"

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

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

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

build_all_plugins_app_template: &BUILD_ALL_PLUGINS_APP_TEMPLATE
  create_all_plugins_app_script:
    - $PLUGIN_TOOL_COMMAND create-all-packages-app --output-dir=. --exclude script/configs/exclude_all_plugins_app.yaml
  build_all_plugins_debug_script:
    - cd all_packages
    - if [[ "$BUILD_ALL_ARGS" == "web" ]]; then
    -   echo "Skipping; web does not support debug builds"
    - else
    -   flutter build $BUILD_ALL_ARGS --debug
    - fi
  build_all_plugins_release_script:
    - cd all_packages
    - flutter build $BUILD_ALL_ARGS --release

# Light-workload Linux tasks.
# These use default machines, with fewer CPUs, to reduce pressure on the
# concurrency limits.
task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  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
  matrix:
    ### Platform-agnostic tasks ###
    - name: Linux plugin_tools_tests
      script:
        - cd script/tool
        - dart pub run test
    # Repository rules and best-practice enforcement.
    # Only channel-agnostic tests should go here since it is only run once
    # (on Flutter master).
    - name: repo_checks
      always:
        format_script: ./script/tool_runner.sh format --fail-on-change
        license_script: $PLUGIN_TOOL_COMMAND license-check
        # The major and minor versions here should match the lowest version
        # analyzed in legacy_version_analyze.
        pubspec_script: ./script/tool_runner.sh pubspec-check --min-min-flutter-version=3.0.0 --min-min-dart-version=2.17.0
        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
        dependabot_script: $PLUGIN_TOOL_COMMAND dependabot-check
        version_script:
          # For pre-submit, pass the PR labels to the script to allow for
          # check overrides.
          # For post-submit, ignore platform version breaking version changes
          # and missing version/CHANGELOG detection since the labels aren't
          # available outside of the context of the PR.
          - if [[ $CIRRUS_PR == "" ]]; then
          -   ./script/tool_runner.sh version-check --ignore-platform-interface-breaks
          - else
          -   ./script/tool_runner.sh version-check --check-for-missing-changes --pr-labels="$CIRRUS_PR_LABELS"
          - fi
        publishable_script: ./script/tool_runner.sh publish-check --allow-pre-release
        federated_safety_script:
          # This check is only meaningful for PRs, as it validates changes
          # rather than state.
          - if [[ $CIRRUS_PR == "" ]]; then
          -   ./script/tool_runner.sh federation-safety-check
          - else
          -   echo "Only run in presubmit"
          - fi
    - name: dart_unit_tests
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      unit_test_script:
        - ./script/tool_runner.sh test
    - name: analyze
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      analyze_tool_script:
        - cd script/tool
        - dart analyze --fatal-infos
      analyze_script:
        # DO NOT change the custom-analysis argument here without changing the Dart repo.
        # See the comment in script/configs/custom_analysis.yaml for details.
        - ./script/tool_runner.sh analyze --custom-analysis=script/configs/custom_analysis.yaml
      pathified_analyze_script:
        # Re-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.
        - $PLUGIN_TOOL_COMMAND analyze --run-on-dirty-packages --log-timing --custom-analysis=script/configs/custom_analysis.yaml
        # Restore the tree to a clean state, to avoid accidental issues if
        # other script steps are added to this task.
        - git checkout .
    # 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: analyze
      matrix:
        # Change the arguments to pubspec-check when changing these values.
        env:
          CHANNEL: "3.0.5"
          DART_VERSION: "2.17.6"
        env:
          CHANNEL: "3.3.10"
          DART_VERSION: "2.18.6"
      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:
        # Only analyze lib/; non-client code doesn't need to work on
        # all supported legacy version.
        - ./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: analyze
      analyze_script:
        - ./script/tool_runner.sh analyze --downgrade --custom-analysis=script/configs/custom_analysis.yaml
    - name: readme_excerpts
      env:
        CIRRUS_CLONE_SUBMODULES: true
      script: ./script/tool_runner.sh update-excerpts --fail-on-change
    ### Web tasks ###
    - name: web-build_all_plugins
      env:
        BUILD_ALL_ARGS: "web"
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
    ### Linux desktop tasks ###
    - name: linux-build_all_plugins
      env:
        BUILD_ALL_ARGS: "linux"
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
    - name: linux-platform_tests
      # Don't run full platform tests on both channels in pre-submit.
      skip: $CIRRUS_PR != '' && $CHANNEL == 'stable'
      env:
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      build_script:
        - ./script/tool_runner.sh build-examples --linux
      native_test_script:
        - xvfb-run ./script/tool_runner.sh native-test --linux --no-integration
      drive_script:
        - xvfb-run ./script/tool_runner.sh drive-examples --linux --exclude=script/configs/exclude_integration_linux.yaml

# Heavy-workload Linux tasks.
# These use machines with more CPUs and memory, so will reduce parallelization
# for non-credit runs.
task:
  << : *FLUTTER_UPGRADE_TEMPLATE
  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: 16G
  matrix:
    ### Android tasks ###
    - name: android-platform_tests
      # Don't run full platform tests on both channels in pre-submit.
      skip: $CIRRUS_PR != '' && $CHANNEL == 'stable'
      env:
        matrix:
          PACKAGE_SHARDING: "--shardIndex 0 --shardCount 5"
          PACKAGE_SHARDING: "--shardIndex 1 --shardCount 5"
          PACKAGE_SHARDING: "--shardIndex 2 --shardCount 5"
          PACKAGE_SHARDING: "--shardIndex 3 --shardCount 5"
          PACKAGE_SHARDING: "--shardIndex 4 --shardCount 5"
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
        MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
        GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[4457646586de940f49e054de7d82e60078b205ac627f11a89d077e63f639c9ba1002541d9209a9ee7777e159e97b43d0]
      build_script:
        - ./script/tool_runner.sh build-examples --apk
      lint_script:
        - ./script/tool_runner.sh lint-android # must come after build-examples
      native_unit_test_script:
        # Native integration tests are handled by firebase-test-lab below, so
        # only run unit tests.
        # Must come after build-examples.
        - ./script/tool_runner.sh native-test --android --no-integration --exclude script/configs/exclude_native_unit_android.yaml
      firebase_test_lab_script:
        - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then
        -   echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json
        -   ./script/tool_runner.sh firebase-test-lab --device model=redfin,version=30 --device model=starqlteue,version=26 --exclude=script/configs/exclude_integration_android.yaml
        - else
        -   echo "This user does not have permission to run Firebase Test Lab tests."
        - fi
      # Upload the full lint results to Cirrus to display in the results UI.
      always:
        android-lint_artifacts:
          path: "**/reports/lint-results-debug.xml"
          type: text/xml
          format: android-lint
    - name: android-build_all_plugins
      env:
        BUILD_ALL_ARGS: "apk"
        matrix:
          CHANNEL: "master"
          CHANNEL: "stable"
      << : *BUILD_ALL_PLUGINS_APP_TEMPLATE
    ### Web tasks ###
    - name: web-platform_tests
      env:
        matrix:
          PACKAGE_SHARDING: "--shardIndex 0 --shardCount 2"
          PACKAGE_SHARDING: "--shardIndex 1 --shardCount 2"
        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 --exclude=script/configs/exclude_integration_web.yaml
