# 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
    postsubmit: false
    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
    postsubmit: false
    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
    postsubmit: false
    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
    bringup: true
    postsubmit: false
    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"
