# 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: Linux
  mac:
    properties:
      os: Mac-12
      cpu: x86
  windows:
    properties:
      os: Windows

targets:
  - name: Linux Cocoon
    recipe: cocoon/cocoon
    properties:
      add_recipes_cq: "true"

  - name: Linux device_doctor
    recipe: cocoon/cipd
    properties:
      add_recipes_cq: "true"
      script: device_doctor/tool/build.sh
      cipd_name: flutter/device_doctor/linux-amd64
    runIf:
      - device_doctor/**
      - .ci.yaml

  - name: Mac device_doctor
    recipe: cocoon/cipd
    properties:
      add_recipes_cq: "true"
      script: device_doctor/tool/build.sh
      cipd_name: flutter/device_doctor/mac-amd64
    runIf:
      - device_doctor/**
      - .ci.yaml

  - name: Windows device_doctor
    recipe: cocoon/cipd
    properties:
      add_recipes_cq: "true"
      script: device_doctor\tool\build.bat
      cipd_name: flutter/device_doctor/windows-amd64
    runIf:
      - device_doctor/**
      - .ci.yaml

  - name: Mac codesign
    recipe: cocoon/cipd
    properties:
      add_recipes_cq: "true"
      script: codesign/tool/build.sh
      cipd_name: flutter/codesign/mac-amd64
    runIf:
      - codesign/**
      - .ci.yaml

  - name: Linux ci_yaml roller
    recipe: infra/ci_yaml
    properties:
      add_recipes_cq: "true"
