# 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
  - flutter-\d+\.\d+-candidate\.\d+
  - fuchsia_r\d+[a-z]*

platform_properties:
  linux:
    properties:
      build_host: "false"
      build_fuchsia: "false"
      build_android_debug: "false"
      build_android_aot: "false"
      build_android_vulkan: "false"
      build_ios: "false"
      build_android_jit_release: "false"
      gcs_goldens_bucket: ""
      ios_debug: "false"
      ios_profile: "false"
      ios_release: "false"
      # CIPD flutter/java/openjdk/$platform
      dependencies: >-
        [
          {"dependency": "open_jdk", "version": "version:11"},
          {"dependency": "gradle_cache", "version": "none"}
        ]
      device_type: none
      os: Ubuntu
      cores: "8"
  mac:
    properties:
      build_host: "false"
      build_fuchsia: "false"
      build_android_debug: "false"
      build_android_aot: "false"
      build_android_vulkan: "false"
      build_ios: "false"
      build_android_jit_release: "false"
      gcs_goldens_bucket: ""
      ios_debug: "false"
      ios_profile: "false"
      ios_release: "false"
      # CIPD flutter/java/openjdk/$platform
      dependencies: >-
        [
          {"dependency": "open_jdk", "version": "version:11"}
        ]
      device_type: none
      cpu: x86
      os: Mac-12
      $flutter/osx_sdk : >-
        {
          "sdk_version": "14e222b"
        }
    dimensions:
      mac_model: "Macmini8,1|Macmini9,1"
  windows:
    properties:
      build_host: "false"
      build_fuchsia: "false"
      build_android_debug: "false"
      build_android_aot: "false"
      build_android_vulkan: "false"
      build_ios: "false"
      build_android_jit_release: "false"
      gcs_goldens_bucket: ""
      ios_debug: "false"
      ios_profile: "false"
      ios_release: "false"
      # CIPD flutter/java/openjdk/$platform
      dependencies: >-
        [
          {"dependency": "open_jdk", "version": "version:11"}
        ]
      device_type: none
      os: Windows-10

targets:
  - name: Linux Android AOT Engine
    recipe: engine/engine
    bringup: true
    properties:
      build_android_aot: "true"
      android_sdk_license: \n24333f8a63b6825ea9c5514f83c2829b004d1fee
      android_sdk_preview_license: \n84831b9409646a918e30573bab4c9c91346d8abd
    timeout: 60

  - name: Linux Android Debug Engine
    recipe: engine/engine
    bringup: true
    properties:
      build_android_debug: "true"
      build_android_jit_release: "true"
      build_android_vulkan: "true"
      android_sdk_license: \n24333f8a63b6825ea9c5514f83c2829b004d1fee
      android_sdk_preview_license: \n84831b9409646a918e30573bab4c9c91346d8abd
    timeout: 60

  - name: Linux Android Emulator Tests
    recipe: engine/scenarios
    enabled_branches:
      - main
      - master
    properties:
      dependencies: >-
        [
          {"dependency": "android_virtual_device", "version": "33"},
          {"dependency": "goldctl", "version": "git_revision:f808dcff91b221ae313e540c09d79696cd08b8de"}
        ]
      upload_packages: "true"
      clobber: "true"
    timeout: 60
    runIf:
      - DEPS
      - .ci.yaml
      - testing/**
      - shell/platform/android/**

  - name: Linux builder_cache
    enabled_branches:
      - main
    recipe: engine_v2/cache
    bringup: true
    presubmit: false
    properties:
      cache_name: "builder"
      cache_root: "cache"
      cache_paths: >-
        [
          "builder",
          "git"
        ]
      gclient_variables: >-
        {
          "download_emsdk": "true",
          "download_android_deps": "true"
        }
    timeout: 60

  - name: Windows builder_cache
    enabled_branches:
      - main
    recipe: engine_v2/cache
    bringup: true
    presubmit: false
    properties:
      cache_name: "builder"
      cache_root: "cache"
      cache_paths: >-
        [
          "builder",
          "git"
        ]
      gclient_variables: >-
        {
          "download_android_deps": "true"
        }
    timeout: 60

  - name: Mac builder_cache
    enabled_branches:
      - main
    recipe: engine_v2/cache
    bringup: true
    presubmit: false
    properties:
      cache_name: "builder"
      cache_root: "cache"
      cache_paths: >-
        [
          "builder",
          "git"
        ]
      gclient_variables: >-
        {
          "download_android_deps": "true"
        }
    timeout: 60

  - name: Linux Benchmarks
    enabled_branches:
      - main
      - master
    recipe: engine/engine_metrics
    presubmit: false
    properties:
      build_host: "true"
      upload_metrics: "true"
    timeout: 60

  - name: Linux Benchmarks (no-upload)
    recipe: engine/engine_metrics
    bringup: true
    properties:
      build_host: "true"
      upload_metrics: "false"
    timeout: 60

  - name: Linux Fuchsia
    recipe: engine/engine
    properties:
      add_recipes_cq: "true"
      build_fuchsia: "true"
      fuchsia_ctl_version: version:0.0.27
      # ensure files from pre-production Fuchsia SDK tests are purged from cache
      clobber: "true"
    timeout: 90

  - name: Linux Fuchsia FEMU
    recipe: engine/femu_test
    properties:
      add_recipes_cq: "true"
      build_fuchsia: "true"
      fuchsia_ctl_version: version:0.0.27
      # ensure files from pre-production Fuchsia SDK tests are purged from cache
      clobber: "true"
      emulator_arch: "x64"
      enable_cso: "true"
    timeout: 60

  - name: Linux Fuchsia arm64 FEMU
    recipe: engine/femu_test
    properties:
      build_fuchsia: "true"
      fuchsia_ctl_version: version:0.0.27
      # ensure files from pre-production Fuchsia SDK tests are purged from cache
      clobber: "true"
      emulator_arch: "arm64"
      enable_cso: "true"
    timeout: 60
    bringup: true

  - name: Linux Framework Smoke Tests
    recipe: engine/framework_smoke
    enabled_branches:
      - main
      - master
    timeout: 60

  - name: Linux Host Engine
    recipe: engine/engine
    bringup: true
    properties:
      gclient_variables: >-
        {"download_emsdk": true}
      build_host: "true"
      cores: "32"
    timeout: 60

  - name: Linux Unopt
    bringup: true
    recipe: engine/engine_unopt
    properties:
      clobber: "true"
    timeout: 60

  - name: Linux License
    bringup: true
    recipe: engine/engine_license
    properties:
      clobber: "true"
    timeout: 60

  - name: Linux Host clang-tidy
    recipe: engine/engine_lint
    properties:
      cores: "32"
      lint_android: "false"
      lint_host: "true"
    timeout: 60
    runIf:
      - DEPS
      - .ci.yaml
      - .clang-tidy
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"

  - name: Linux Android clang-tidy
    recipe: engine/engine_lint
    properties:
      cores: "32"
      lint_android: "true"
      lint_host: "false"
    timeout: 60
    runIf:
      - DEPS
      - .ci.yaml
      - .clang-tidy
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"
      - "**.py" # Run pylint on the fastest clang-tidy builder.

  - name: Linux Arm Host Engine
    bringup: true
    recipe: engine/engine_arm
    properties:
      build_host: "true"
    timeout: 90

  - name: Linux linux_fuchsia
    bringup: true
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      config_name: linux_fuchsia
    drone_dimensions:
      - os=Linux

  - name: Linux linux_clang_tidy
    bringup: true
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      config_name: linux_clang_tidy

  - name: Linux linux_arm_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: linux_arm_host_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: linux_host_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_host_desktop_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: linux_host_desktop_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_android_aot_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: linux_android_aot_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_android_debug_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: linux_android_debug_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_license
    recipe: engine_v2/builder
    timeout: 60
    properties:
      add_recipes_cq: "true"
      config_name: linux_license
      clobber: "true"

  - name: Linux linux_web_engine
    recipe: engine_v2/engine_v2
    timeout: 70
    properties:
      release_build: "true"
      config_name: linux_web_engine
    drone_dimensions:
      - os=Linux

  - name: Linux linux_unopt
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      config_name: linux_unopt

  - name: Linux Web Framework tests
    recipe: engine/web_engine_framework
    enabled_branches:
      - main
      - master
    properties:
      add_recipes_cq: "true"
      cores: "32"
      gclient_variables: >-
        {"download_emsdk": true}
      dependencies: >-
        [
          {"dependency": "chrome_and_driver", "version": "version:111.0a"},
          {"dependency": "curl", "version": "version:7.64.0"}
        ]
      framework: "true"
      no_goma: "true"
      drone_dimensions: >
        ["device_type=none", "os=Linux"]
      shard: web_tests
      subshards: >-
              ["0", "1", "2", "3", "4", "5", "6", "7_last"]
    timeout: 60
    runIf:
      - DEPS
      - .ci.yaml
      - lib/web_ui/**
      - web_sdk/**
      - tools/**
      - ci/**
      - flutter_frontend_server/**

  - name: Mac Android AOT Engine
    bringup: true
    recipe: engine/engine
    properties:
      android_sdk_license: \n24333f8a63b6825ea9c5514f83c2829b004d1fee
      android_sdk_preview_license: \n84831b9409646a918e30573bab4c9c91346d8abd
      build_android_aot: "true"
    timeout: 60

  - name: Mac Host Engine
    bringup: true
    recipe: engine/engine
    properties:
      gclient_variables: >-
        {"download_emsdk": true}
      build_host: "true"
    timeout: 75

  - name: Linux mac_android_aot_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: mac_android_aot_engine
    drone_dimensions:
      - os=Linux

  - name: Mac mac_clang_tidy
    bringup: true
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      config_name: mac_clang_tidy

  - name: Mac mac_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      cpu: arm64
      config_name: mac_host_engine
      dependencies: >-
        [
          {"dependency": "goldctl", "version": "git_revision:f808dcff91b221ae313e540c09d79696cd08b8de"}
        ]
    drone_dimensions:
      - os=Mac-12

  - name: Linux mac_unopt
    recipe: engine_v2/engine_v2
    properties:
      config_name: mac_unopt
      add_recipes_cq: "true"
    timeout: 60

  - name: Mac Unopt
    bringup: true
    recipe: engine/engine_unopt
    properties:
      $flutter/osx_sdk : >-
        {
          "sdk_version": "14e222b",
          "runtime_versions":
            [
              "ios-16-4_14e222b",
              "ios-16-2_14c18"
            ]
        }
    timeout: 75

  - name: Mac Host clang-tidy
    recipe: engine/engine_lint
    properties:
      cpu: arm64
      lint_host: "true"
      lint_ios: "false"
    timeout: 120
    runIf:
      - DEPS
      - .ci.yaml
      - .clang-tidy
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"
      - "**.m"
      - "**.mm"

  - name: Mac iOS clang-tidy
    recipe: engine/engine_lint
    properties:
      cpu: arm64
      lint_host: "false"
      lint_ios: "true"
    timeout: 120
    runIf:
      - DEPS
      - .ci.yaml
      - .clang-tidy
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"
      - "**.m"
      - "**.mm"

  - name: Mac iOS Engine
    bringup: true
    recipe: engine/engine
    properties:
      build_ios: "true"
      ios_debug: "true"
    timeout: 60

  - name: Mac mac_ios_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: mac_ios_engine
      dependencies: >-
        [
          {"dependency": "jazzy", "version": "0.14.1"}
        ]
    drone_dimensions:
      - os=Mac-12
      - cpu=x86

  - name: Mac impeller-cmake-example
    bringup: true
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      cpu: arm64
      config_name: mac_impeller_cmake_example

  - name: Windows Android AOT Engine
    bringup: true
    recipe: engine/engine
    properties:
      build_android_aot: "true"
      android_sdk_license: \n24333f8a63b6825ea9c5514f83c2829b004d1fee
      android_sdk_preview_license: \n84831b9409646a918e30573bab4c9c91346d8abd
    timeout: 60

  - name: Windows Host Engine
    bringup: true
    recipe: engine/engine
    timeout: 60
    properties:
      gclient_variables: >-
        {"download_emsdk": true}
      build_host: "true"

  - name: Windows windows_android_aot_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: windows_android_aot_engine
    drone_dimensions:
      - os=Windows

  - name: Windows windows_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: windows_host_engine
    drone_dimensions:
      - os=Windows

  - name: Windows windows_arm_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    enabled_branches:
      # Don't run this on release branches
      - main
    properties:
      add_recipes_cq: "true"
      release_build: "true"
      config_name: windows_arm_host_engine
    drone_dimensions:
      - os=Windows

  - name: Windows windows_unopt
    recipe: engine_v2/builder
    timeout: 60
    properties:
      config_name: windows_unopt

  - name: Windows Unopt
    bringup: true
    recipe: engine/engine_unopt
    properties:
      add_recipes_cq: "true"
    timeout: 75

  - name: Mac iOS Engine Profile
    bringup: true
    recipe: engine/engine
    properties:
      build_ios: "true"
      ios_profile: "true"
    timeout: 90
    runIf:
      - DEPS
      - .ci.yaml
      - ci/**

  - name: Mac iOS Engine Release
    bringup: true
    recipe: engine/engine
    properties:
      build_ios: "true"
      ios_release: "true"
    timeout: 90
    runIf:
      - DEPS
      - .ci.yaml
      - ci/**

  - name: Linux ci_yaml engine roller
    bringup: true
    recipe: infra/ci_yaml
