# 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:33v6"},
          {"dependency": "open_jdk", "version": "version:17"},
          {"dependency": "curl", "version": "version:7.64.0"},
          {"dependency": "avd_cipd_version", "version": "build_id:8759428741582061553"}
        ]
  linux_android_legacy:
    properties:
      os: Ubuntu
      cores: "8"
      device_type: none
      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": "generic_android22.textpb"},
          {"dependency": "avd_cipd_version", "version": "build_id:8759428741582061553"}
        ]
  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:114.0"}
        ]
  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-13
      device_type: none
      cpu: arm64
      $flutter/osx_sdk : >-
        {
          "sdk_version": "15a240d"
        }
  mac_x64:
    properties:
      dependencies: >-
        [
          {"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
        ]
      os: Mac-13
      device_type: none
      cpu: x86
      $flutter/osx_sdk : >-
        {
          "sdk_version": "15a240d"
        }

targets:
  - name: Linux repo_checks
    recipe: packages/packages
    timeout: 30
    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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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"
        }

  - name: Linux analyze master
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      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.16.9"
      env_variables: >-
        {
          "CHANNEL": "3.16.9"
        }

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

  - name: Linux_android custom_package_tests master
    recipe: packages/packages
    timeout: 30
    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_34_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:114.0"}
        ]
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }

  - name: Linux_android custom_package_tests stable
    recipe: packages/packages
    timeout: 30
    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_34_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:114.0"}
        ]
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  ### Android tasks ###
  - name: Linux_android android_build_all_packages master
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: android_build_all_packages.yaml
      channel: master
      # The legacy project build requires an older JDK.
      dependencies: >-
        [
          {"dependency": "open_jdk", "version": "version:11"}
        ]
      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
      target_file: android_build_all_packages.yaml
      channel: stable
      # The legacy project build requires an older JDK.
      dependencies: >-
        [
          {"dependency": "open_jdk", "version": "version:11"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  # All of the Linux_android android_platform_tests shards have the same
  # dependency list, despite some running on Android 33 AVDs versus 34.
  # See https://github.com/flutter/flutter/issues/137082 for context.
  - 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
      # set up for 34
      package_sharding: "--shardIndex 0 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_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
      # set up for 34
      package_sharding: "--shardIndex 1 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_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
      # set up for 34
      package_sharding: "--shardIndex 2 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_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
      # set up for 34
      package_sharding: "--shardIndex 3 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_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
      # set up for 34
      package_sharding: "--shardIndex 4 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_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
      # set up for 34
      package_sharding: "--shardIndex 5 --shardCount 6"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_34_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_api_33_shard_1 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests_api_33_avd.yaml
      channel: master
      version_file: flutter_master.version
      # set up for 33
      package_sharding: "--shardIndex 0 --shardCount 2"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux_android android_platform_tests_api_33_shard_2 master
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests_api_33_avd.yaml
      channel: master
      version_file: flutter_master.version
      # set up for 33
      package_sharding: "--shardIndex 1 --shardCount 2"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "master",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - 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_34_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_34_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_34_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_34_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_34_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_34_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 5 --shardCount 6"
        }

  - name: Linux_android android_platform_tests_api_33_shard_1 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests_api_33_avd.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 2"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 0 --shardCount 2"
        }

  - name: Linux_android android_platform_tests_api_33_shard_2 stable
    recipe: packages/packages
    timeout: 60
    properties:
      target_file: android_platform_tests_api_33_avd.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 2"
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "android_33_google_apis_x64.textpb"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable",
          "PACKAGE_SHARDING": "--shardIndex 1 --shardCount 2"
        }

  - 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"
        }

  - 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"
        }

  - 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:114.0"}
        ]
      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:114.0"}
        ]
      env_variables: >-
        {
          "CHANNEL": "stable"
        }

  ### iOS+macOS tasks ###
  # TODO(stuartmorgan): Move this to ARM once google_maps_flutter has ARM
  # support. `pod lint` makes a synthetic target that doesn't respect the
  # pod's arch exclusions, so fails to build.
  - name: Mac_x64 check_podspecs
    recipe: packages/packages
    timeout: 30
    properties:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: macos_repo_checks.yaml
      dependencies: >
        [
          {"dependency": "swift_format", "version": "build_id:8797338980206841409"}
        ]

  ### 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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      version_file: flutter_master.version
      target_file: macos_custom_package_tests.yaml
      channel: master
      env_variables: >-
        {
          "CHANNEL": "master"
        }
      dependencies: >
        [
          {"dependency": "swift_format", "version": "build_id:8797338979890974865"}
        ]

  - name: Mac_arm64 custom_package_tests stable
    recipe: packages/packages
    timeout: 60
    properties:
      add_recipes_cq: "true"
      version_file: flutter_stable.version
      target_file: macos_custom_package_tests.yaml
      channel: stable
      env_variables: >-
        {
          "CHANNEL": "stable"
        }
      dependencies: >
        [
          {"dependency": "swift_format", "version": "build_id:8797338979890974865"}
        ]

  ### 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
      add_recipes_cq: "true"
      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
      add_recipes_cq: "true"
      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
      add_recipes_cq: "true"
      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
      add_recipes_cq: "true"
      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
      add_recipes_cq: "true"
      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
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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:
      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_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:
      add_recipes_cq: "true"
      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"
