# 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
  - release-go_router-\d+\.\d+\.\d+(?:-[\w.]+)?(?:\+[\w.]+)?
  - release-cupertino_ui-\d+\.\d+\.\d+(?:-[\w.]+)?(?:\+[\w.]+)?
  - release-material_ui-\d+\.\d+\.\d+(?:-[\w.]+)?(?:\+[\w.]+)?

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:36v3"},
          {"dependency": "open_jdk", "version": "version:21"},
          {"dependency": "curl", "version": "version:7.64.0"},
          {"dependency": "avd_cipd_version", "version": "build_id:8719362231152674241"},
          {"dependency": "ninja", "version": "version:1.9.0"}
        ]
  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"},
          {"dependency": "ninja", "version": "version:1.9.0"}
        ]
  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:145.0.7632.117"}
        ]
  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-15.7
      device_type: none
      cpu: arm64
      $flutter/osx_sdk : >-
        {
          "sdk_version": "17c52"
        }
  mac_x64:
    properties:
      dependencies: >-
        [
          {"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
        ]
      os: Mac-15.7
      device_type: none
      cpu: x86
      $flutter/osx_sdk : >-
        {
          "sdk_version": "17c52"
        }

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:21"}
        ]

  - name: Linux coverage_checks
    recipe: packages/packages
    bringup: true
    timeout: 60
    properties:
      target_file: coverage_checks.yaml
      channel: master
      version_file: flutter_master.version

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

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

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

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

  - name: Linux_web web_dart_unit_test_shard_1 master
    recipe: packages/packages
    timeout: 90
    properties:
      add_recipes_cq: "true"
      target_file: web_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 0 --shardCount 3"

  - name: Linux_web web_dart_unit_test_shard_2 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 1 --shardCount 3"

  - name: Linux_web web_dart_unit_test_shard_3 master
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: master
      version_file: flutter_master.version
      package_sharding: "--shardIndex 2 --shardCount 3"

  - name: Linux_web web_dart_unit_test_shard_1 stable
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 0 --shardCount 3"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  - name: Linux_web web_dart_unit_test_shard_2 stable
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 1 --shardCount 3"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  - name: Linux_web web_dart_unit_test_shard_3 stable
    recipe: packages/packages
    timeout: 90
    properties:
      target_file: web_dart_unit_tests.yaml
      channel: stable
      version_file: flutter_stable.version
      package_sharding: "--shardIndex 2 --shardCount 3"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  # Wasm unit tests in master
  # TODO(stuartmorgan): Switch to testing wasm on master and stable and non-wasm
  # only on master if/when wasm builds become the default on stable; see
  # https://github.com/flutter/flutter/issues/188813
  - name: Linux_web web_dart_unit_test_wasm_shard_1 master
    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"

  - name: Linux_web web_dart_unit_test_wasm_shard_2 master
    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"

  - name: Linux analyze master
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze.yaml
      channel: master
      version_file: flutter_master.version

  - name: Linux analyze stable
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze.yaml
      channel: stable
      version_file: flutter_stable.version

  # 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

  # 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.41.9"

  - name: Linux analyze_legacy N-2
    recipe: packages/packages
    timeout: 30
    properties:
      target_file: analyze_legacy.yaml
      channel: "3.38.10"

  - 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:145.0.7632.117"}
        ]
      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.
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      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:137.0.7151.119"}
        ]
      channel: stable

  ### Android tasks ###
  - name: Linux_android android_build_all_packages master
    recipe: packages/packages
    timeout: 60
    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

  - name: Linux_android android_build_all_packages stable
    recipe: packages/packages
    timeout: 60
    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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  ### 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

  - 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

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

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

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

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

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

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

  # 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"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  - 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"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  - 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"
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  ### 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

  - 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

  - 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:145.0.7632.117"}
        ]

  - 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.
      # TODO(mdebbar): Upgrade to Chrome 145 once Flutter stable includes the
      # upstream flutter_tools fixes for Chrome 145 (flutter/flutter#190155 and
      # flutter/flutter#190584) which pass --disable-search-engine-choice-screen
      # and --disable-background-timer-throttling; see https://github.com/flutter/flutter/issues/191299
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:137.0.7151.119"}
        ]

  ### 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

  - 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

  # 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

  - 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

  - 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

  - 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

  ### 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

  - 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - name: Windows_arm64 windows-build_all_packages master
    recipe: packages/packages
    presubmit: false
    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"}
        ]

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

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

  - 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

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