# 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
      xcode: 14c18
    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
    properties:
      add_recipes_cq: "true"
      build_android_aot: "true"
      android_sdk_license: \n24333f8a63b6825ea9c5514f83c2829b004d1fee
      android_sdk_preview_license: \n84831b9409646a918e30573bab4c9c91346d8abd
    timeout: 60

  - name: Linux Android Debug Engine
    recipe: engine/engine
    properties:
      add_recipes_cq: "true"
      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": "31"},
          {"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
        ]
      upload_packages: "true"
      clobber: "true"
    timeout: 60
    runIf:
      - DEPS
      - .ci.yaml
      - testing/**
      - shell/platform/android/**

  - 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
    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:
      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: "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
    properties:
      gclient_variables: >-
        {"download_emsdk": true}
      add_recipes_cq: "true"
      build_host: "true"
      cores: "32"
    timeout: 60

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

  - name: Linux License
    recipe: engine/engine_license
    properties:
      add_recipes_cq: "true"
      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
      - 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
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"
      - "**.py" # Run pylint on the fastest clang-tidy builder.

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

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

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

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

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

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

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

  - 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"]
      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
    recipe: engine/engine
    properties:
      gclient_variables: >-
        {"download_emsdk": true}
      add_recipes_cq: "true"
      build_host: "true"
      mac_model: "Macmini8,1"
    timeout: 75

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

  - name: Mac mac_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      cpu: arm64
      config_name: mac_host_engine
      dependencies: >-
        [
          {"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
        ]
      $flutter/osx_sdk : >-
        { "sdk_version": "14c18" }

  - 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:
      add_recipes_cq: "true"
      runtime_versions: >-
        [
          "ios-16-2_14c18",
          "ios-16-0_14a5294e"
        ]
      mac_model: "Macmini8,1"
    timeout: 75

  - name: Mac Host clang-tidy
    recipe: engine/engine_lint
    properties:
      cpu: arm64
      lint_host: "true"
      lint_ios: "false"
    timeout: 75
    runIf:
      - DEPS
      - .ci.yaml
      - 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: 75
    runIf:
      - DEPS
      - .ci.yaml
      - tools/**
      - ci/**
      - "**.h"
      - "**.c"
      - "**.cc"
      - "**.fbs"
      - "**.frag"
      - "**.vert"
      - "**.m"
      - "**.mm"

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

  - name: Mac mac_ios_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      config_name: mac_ios_engine
      $flutter/osx_sdk : >-
        { "sdk_version": "14c18" }
      dependencies: >-
        [
          {"dependency": "jazzy", "version": "0.14.1"}
        ]

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

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

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

  - name: Windows windows_android_aot_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      config_name: windows_android_aot_engine

  - name: Windows windows_host_engine
    recipe: engine_v2/engine_v2
    timeout: 60
    properties:
      release_build: "true"
      config_name: windows_host_engine

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

  - name: Windows Unopt
    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
