# 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: 14a5294e # xcode 14.0 beta 5
  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:
      add_recipes_cq: "true"
      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:
      add_recipes_cq: "true"
      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
    bringup: true
    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
    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"
    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"
      config_name: mac_host_engine
      dependencies: >-
        [
          {"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
        ]
      $flutter/osx_sdk : >-
        { "sdk_version": "14a5294e" }

  - name: Mac mac_unopt
    bringup: true
    recipe: engine_v2/engine_v2
    properties:
      config_name: mac_unopt
      add_recipes_cq: "true"

  - name: Mac Unopt
    recipe: engine/engine_unopt
    properties:
      add_recipes_cq: "true"
      runtime_versions: >-
        [
          "ios-16-0_14a5294e"
        ]
    timeout: 75

  - name: Mac Host clang-tidy
    recipe: engine/engine_lint
    properties:
      add_recipes_cq: "true"
      cores: "12"
      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:
      add_recipes_cq: "true"
      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
    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": "14a5294e" }
      dependencies: >-
        [
          {"dependency": "jazzy", "version": "0.14.1"}
        ]

  - 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
    recipe: engine/engine
    properties:
      build_ios: "true"
      ios_profile: "true"
    timeout: 90
    runIf:
      - DEPS
      - .ci.yaml
      - ci/**

  - name: Mac iOS Engine Release
    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
