# Describes the targets run in continuous integration environment.
#
# Flutter infra uses this file to generate a checklist of tasks to be performed
# for every commit.
#
# More information at:
#  * https://github.com/flutter/cocoon/blob/main/CI_YAML.md
enabled_branches:
  - main

platform_properties:
  linux:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      dependencies: >-
        [
          {"dependency": "curl", "version": "version:7.64.0"}
        ]
  # The current android emulator config names can be found here:
  # https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/android/avd/proto
  # You may use those names for the android_virtual_device version.
  linux_android:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      dependencies: >-
        [
          {"dependency": "android_sdk", "version": "version:36v1"},
          {"dependency": "open_jdk", "version": "version:17"},
          {"dependency": "curl", "version": "version:7.64.0"},
          {"dependency": "avd_cipd_version", "version": "build_id:8719362231152674241"}
        ]
  linux_android_legacy:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      # The android_virtual_device here should be as old as is feasible. Currently it's 31
      # because the older devices available (see link above for options) are all x86, which
      # is no longer supported by Flutter.
      dependencies: >-
        [
          {"dependency": "android_sdk", "version": "version:33v6"},
          {"dependency": "open_jdk", "version": "version:17"},
          {"dependency": "curl", "version": "version:7.64.0"},
          {"dependency": "android_virtual_device", "version": "android_31_google_apis_x64.textpb"},
          {"dependency": "avd_cipd_version", "version": "build_id:8733065022087935185"}
        ]
  linux_desktop:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      dependencies: >-
        [
          {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
          {"dependency": "cmake", "version": "build_id:8787856497187628321"},
          {"dependency": "ninja", "version": "version:1.9.0"},
          {"dependency": "curl", "version": "version:7.64.0"}
        ]
  linux_web:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
        ]
  windows_arm64:
    properties:
      dependencies: >
        [
          {"dependency": "certs", "version": "version:9563bb"}
        ]
      os: Windows
      cpu: arm64
  windows_x64:
    properties:
      dependencies: >
        [
          {"dependency": "certs", "version": "version:9563bb"}
        ]
      device_type: none
      os: Windows
      cpu: x86
  mac_arm64:
    properties:
      dependencies: >-
        [
          {"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
        ]
      os: Mac-14|Mac-15.5
      device_type: none
      cpu: arm64
      $flutter/osx_sdk : >-
        {
          "sdk_version": "16c5032a"
        }
  mac_x64:
    properties:
      dependencies: >-
        [
          {"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
        ]
      os: Mac-14|Mac-15.5
      device_type: none
      cpu: x86
      $flutter/osx_sdk : >-
        {
          "sdk_version": "16c5032a"
        }

targets:
  - name: Linux repo_checks
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      target_file: repo_checks.yaml
      channel: master
      version_file: flutter_master.version
      # The format check requires clang-format, and the current version of ktfmt requires JDK 11+.
      dependencies: >-
        [
          {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
          {"dependency": "open_jdk", "version": "version:17"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux dart_unit_test_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      target_file: dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux dart_unit_test_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Linux dart_unit_test_shard_1 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux dart_unit_test_shard_2 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Linux_web web_dart_unit_test_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      target_file: web_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux_web web_dart_unit_test_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Linux_web web_dart_unit_test_shard_1 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux_web web_dart_unit_test_shard_2 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  # Wasm unit tests in master
  - name: Linux_web web_dart_unit_test_wasm_shard_1 master
    # Broken on master. See flutter/flutter#170433 and
    # flutter/flutter#170434
    bringup: true
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      target_file: web_dart_unit_tests_wasm.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux_web web_dart_unit_test_wasm_shard_2 master
    # Broken on master. See flutter/flutter#170433 and
    # flutter/flutter#170434
    bringup: true
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_dart_unit_tests_wasm.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Linux analyze master
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze.yaml
      channel: master
      version_file: flutter_master.version
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux analyze stable
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze.yaml
      channel: stable
      version_file: flutter_stable.version
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  # This is only run on stable since it's extremely likely that stable will
  # resolve to packages that are older (or at least as old) than on master, so
  # running a second copy with master is very unlikely to catch anything that
  # this doesn't.
  - name: Linux analyze_downgraded stable
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze_downgraded.yaml
      channel: stable
      version_file: flutter_stable.version
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  # Analyze with the previous stable (N-1) and the stable before that (N-2). The
  # versions in `channel` should be updated after a new major stable release.
  - name: Linux analyze_legacy N-1
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze_legacy.yaml
      channel: "3.29.3"
      env_variables: >-
        {
          "CHANNEL": "3.29.3"
        }

  - name: Linux analyze_legacy N-2
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze_legacy.yaml
      channel: "3.27.4"
      env_variables: >-
        {
          "CHANNEL": "3.27.4"
        }

  - name: Linux_android custom_package_tests master
    recipe: packages/packages
    timeout: 60
    dimensions:
      kvm: "1"
    properties:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: linux_custom_package_tests.yaml
      # Pigeon tests need Andoid deps (thus the Linux_android base), emulator,
      # and Linux desktop deps.
      # web_benchmarks needs Chrome.
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"},
          {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
          {"dependency": "cmake", "version": "build_id:8787856497187628321"},
          {"dependency": "ninja", "version": "version:1.9.0"},
          {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
        ]
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_android custom_package_tests stable
    recipe: packages/packages
    timeout: 60
    dimensions:
      kvm: "1"
    properties:
      version_file: flutter_stable.version
      target_file: linux_custom_package_tests.yaml
      # See comments on 'master' version above.
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"},
          {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
          {"dependency": "cmake", "version": "build_id:8787856497187628321"},
          {"dependency": "ninja", "version": "version:1.9.0"},
          {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
        ]
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  ### Android tasks ###
  - name: Linux_android android_build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_master.version
      # This builds the all_packages app only in a current JDK.
      target_file: android_build_all_packages.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_android android_build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_stable.version
      # This builds the all_packages app only in a current JDK.
      target_file: android_build_all_packages.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Linux_android android_platform_tests_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_3 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 2 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_4 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 3 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_5 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 4 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_6 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 5 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_1 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_2 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_3 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 2 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_4 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 3 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_5 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 4 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_shard_6 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      target_file: android_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 5 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_3 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 2 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_4 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 3 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_5 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 4 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 6"
        }

  - name: Linux_android_legacy android_platform_tests_legacy_api_shard_6 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_legacy_emulator_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 5 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  # Device versions of Android integration tests, run via FTL.
  # TODO(stuartmorgan): Revisit whether physical device tests are redundant once
  # we have more data about emulator tests; see
  # https://github.com/flutter/flutter/issues/131429.

  - name: Linux_android android_device_tests_shard_1 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 6"
        }

  - name: Linux_android android_device_tests_shard_2 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 6"
        }

  - name: Linux_android android_device_tests_shard_3 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 2 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 6"
        }

  - name: Linux_android android_device_tests_shard_4 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 3 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 6"
        }

  - name: Linux_android android_device_tests_shard_5 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 4 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 6"
        }

  - name: Linux_android android_device_tests_shard_6 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: android_device_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 5 --shardCount 6"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  ### Web tasks ###
  - name: Linux_web web_build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: web_build_all_packages.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_web web_build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_stable.version
      target_file: web_build_all_packages.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  # JS integration tests in master
  - name: Linux_web web_platform_tests_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 0 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 1 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_shard_3 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 2 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 3"
        }

  # Wasm integration tests in master
  - name: Linux_web web_platform_tests_wasm_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests_wasm.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 0 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_wasm_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests_wasm.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 1 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_wasm_shard_3 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests_wasm.yaml
      version_file: flutter_master.version
      channel: master
      package_sharding: "--shardIndex 2 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 3"
        }

  # JS integration tests in stable
  - name: Linux_web web_platform_tests_shard_1 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_stable.version
      channel: stable
      package_sharding: "--shardIndex 0 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_shard_2 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_stable.version
      channel: stable
      package_sharding: "--shardIndex 1 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 3"
        }

  - name: Linux_web web_platform_tests_shard_3 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: web_platform_tests.yaml
      version_file: flutter_stable.version
      channel: stable
      package_sharding: "--shardIndex 2 --shardCount 3"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 3"
        }

  ### Linux desktop tasks
  - name: Linux_desktop build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: linux_build_all_packages.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_desktop build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_stable.version
      target_file: linux_build_all_packages.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Linux_desktop platform_tests master
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_master.version
      target_file: linux_platform_tests.yaml
      channel: master
      # Install Chrome as a default handler for schemes for url_launcher.
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_desktop platform_tests stable
    recipe: packages/packages
    presubmit: false
    timeout: 30
    properties:
      version_file: flutter_stable.version
      target_file: linux_platform_tests.yaml
      channel: stable
      # Install Chrome as a default handler for schemes for url_launcher.
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  ### iOS+macOS tasks ###
  - name: Mac_arm64 macos_repo_checks
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_master.version
      target_file: macos_repo_checks.yaml

  ### macOS desktop tasks ###
  # macos-platform_tests builds all the packages on ARM, so this build is run
  # on Intel to give us build coverage of both host types.
  - name: Mac_x64 build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      version_file: flutter_master.version
      target_file: macos_build_all_packages.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Mac_x64 build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_stable.version
      target_file: macos_build_all_packages.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  # TODO(stuartmorgan): Remove "- packages" from all task names once
  # flutter/plugins is merged into this repo and turned down; it's here only
  # because names must be unique across all flutter repositories.
  - name: Mac_arm64 macos_platform_tests master - packages
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: macos_platform_tests.yaml
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Mac_arm64 macos_platform_tests stable - packages
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: macos_platform_tests.yaml
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Mac_arm64 custom_package_tests master
    recipe: packages/packages
    timeout: 60
    properties:
      version_file: flutter_master.version
      target_file: macos_custom_package_tests.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Mac_arm64 custom_package_tests stable
    recipe: packages/packages
    timeout: 60
    properties:
      version_file: flutter_stable.version
      target_file: macos_custom_package_tests.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  ### iOS tasks ###
  # ios_platform_tests builds all the packages on ARM, so this build is run
  # on Intel to give us build coverage of both host types.
  - name: Mac_x64 ios_build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      channel: master
      version_file: flutter_master.version
      target_file: ios_build_all_packages.yaml
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Mac_x64 ios_build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_build_all_packages.yaml
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Mac_arm64 ios_platform_tests_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 0 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      version_file: flutter_master.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 1 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_3 master
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      version_file: flutter_master.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 2 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_4 master
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      version_file: flutter_master.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 3 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_5 master
    recipe: packages/packages
    timeout: 60
    properties:
      channel: master
      version_file: flutter_master.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 4 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 5"
        }

  # Don't run full platform tests on both channels in pre-submit.
  - name: Mac_arm64 ios_platform_tests_shard_1 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 0 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_2 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 1 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_3 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 2 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 2 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_4 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 3 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 3 --shardCount 5"
        }

  - name: Mac_arm64 ios_platform_tests_shard_5 stable
    recipe: packages/packages
    presubmit: false
    timeout: 60
    properties:
      channel: stable
      version_file: flutter_stable.version
      target_file: ios_platform_tests.yaml
      package_sharding: "--shardIndex 4 --shardCount 5"
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 4 --shardCount 5"
        }

  ### Windows desktop tasks ###
  - name: Windows_x64 custom_package_tests master - packages
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_custom_package_tests.yaml
      channel: master
      version_file: flutter_master.version
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Windows_x64 dart_unit_tests_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Windows_x64 dart_unit_tests_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Windows_x64 win32-platform_tests_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      target_file: windows_build_and_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Windows_x64 win32-platform_tests_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_build_and_platform_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Windows_x64 win32-platform_tests_shard_1 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_build_and_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Windows_x64 win32-platform_tests_shard_2 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: windows_build_and_platform_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - name: Windows_x64 windows-build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: windows_build_all_packages.yaml
      channel: master
      version_file: flutter_master.version
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Windows_arm64 windows-build_all_packages master
    recipe: packages/packages
    presubmit: false
    timeout: 30
    bringup: true # https://github.com/flutter/flutter/issues/134083
    properties:
      add_recipes_cq: "true"
      target_file: windows_build_all_packages.yaml
      channel: master
      version_file: flutter_master.version
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Windows_x64 windows-build_all_packages stable
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: windows_build_all_packages.yaml
      channel: stable
      version_file: flutter_stable.version
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Windows_arm64 windows-build_all_packages stable
    recipe: packages/packages
    presubmit: false
    timeout: 30
    bringup: true
    properties:
      target_file: windows_build_all_packages.yaml
      channel: stable
      version_file: flutter_stable.version
      dependencies: >
        [
          {"dependency": "vs_build", "version": "version:vs2019"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  - name: Windows_x64 repo_tools_tests
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      target_file: repo_tools_tests.yaml
      channel: master
      version_file: flutter_master.version
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux ci_yaml packages roller
    recipe: infra/ci_yaml
    timeout: 30
    runIf:
      - .ci.yaml
    properties:
      backfill: "false"
