blob: c99a449e233306e15f454199963025e045ba55e5 [file] [log] [blame]
# 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"}
]
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"}
]
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:
properties:
dependencies: >
[
{"dependency": "certs", "version": "version:9563bb"}
]
device_type: none
os: Windows
mac_arm64:
properties:
dependencies: >-
[
{"dependency": "gems", "version": "v3.3.14"}
]
os: Mac-12
device_type: none
cpu: arm64
$flutter/osx_sdk : >-
{
"sdk_version": "14e300c"
}
mac_x64:
properties:
dependencies: >-
[
{"dependency": "gems", "version": "v3.3.14"}
]
os: Mac-12
device_type: none
cpu: x86
$flutter/osx_sdk : >-
{
"sdk_version": "14e300c"
}
targets:
### Linux-host general tasks ###
- name: Linux 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 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.
dependencies: >-
[
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"}
]
- 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:
add_recipes_cq: "true"
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: 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"
- 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"
- 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"
- 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"
- 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
- name: Linux analyze stable
recipe: packages/packages
timeout: 30
properties:
target_file: analyze.yaml
channel: stable
version_file: flutter_stable.version
- name: Linux analyze_downgraded master
recipe: packages/packages
timeout: 30
properties:
add_recipes_cq: "true"
target_file: analyze_downgraded.yaml
channel: master
version_file: flutter_master.version
- 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.7.12"
- name: Linux analyze_legacy N-2
recipe: packages/packages
timeout: 30
properties:
target_file: analyze_legacy.yaml
channel: "3.3.10"
- 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 clang-format.
# web_benchmarks needs Chrome.
dependencies: >-
[
{"dependency": "android_virtual_device", "version": "33"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "chrome_and_driver", "version": "version:114.0"}
]
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": "33"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "chrome_and_driver", "version": "version:114.0"}
]
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"}
]
- 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"}
]
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
### 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
- 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"
- 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"
- 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"
- 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"
### 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:114.0"}
]
- 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"}
]
### 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_check_podspecs.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:
add_recipes_cq: "true"
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
add_recipes_cq: "true"
version_file: flutter_stable.version
target_file: macos_platform_tests.yaml
- 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
- 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
### 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
- 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
- name: Mac_arm64 ios_platform_tests_shard_1 master
recipe: packages/packages
timeout: 60
properties:
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:
add_recipes_cq: "true"
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:
add_recipes_cq: "true"
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:
add_recipes_cq: "true"
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:
add_recipes_cq: "true"
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
add_recipes_cq: "true"
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
add_recipes_cq: "true"
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
add_recipes_cq: "true"
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
add_recipes_cq: "true"
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
add_recipes_cq: "true"
version_file: flutter_stable.version
target_file: ios_platform_tests.yaml
package_sharding: "--shardIndex 4 --shardCount 5"
### Windows desktop tasks ###
- name: Windows 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"}
]
- name: Windows dart_unit_tests_shard_1 master
bringup: true # New target
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 dart_unit_tests_shard_2 master
bringup: true # New target
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"
# TODO(stuartmorgan): Remove this when enabling the sharded versions.
- name: Windows dart_unit_tests master - packages
recipe: packages/packages
timeout: 60
properties:
add_recipes_cq: "true"
target_file: windows_dart_unit_tests.yaml
channel: master
version_file: flutter_master.version
dependencies: >
[
{"dependency": "vs_build", "version": "version:vs2019"},
{"dependency": "open_jdk", "version": "version:11"}
]
- name: Windows 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 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"}
]
- name: Windows 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"}
]
- name: Windows 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"}
]
- name: Windows 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"}
]
- name: Windows windows-build_all_packages stable
recipe: packages/packages
timeout: 30
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"}
]
- name: Windows 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