# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Config message:
#   https://luci-config.appspot.com/schemas/projects:commit-queue.cfg

config_groups {
  name: "infra"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "infra"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/luci-config"
        disable_reuse: true
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: ".*\\.md"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "(.*/)?OWNERS"
          exclude: true
        }
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "mirrors-cocoon"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "mirrors/cocoon"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux Cocoon"
      }
      builders {
        name: "flutter/try/Linux ci_yaml roller"
      }
      builders {
        name: "flutter/try/Linux device_doctor"
      }
      builders {
        name: "flutter/try/Mac codesign"
      }
      builders {
        name: "flutter/try/Mac device_doctor"
      }
      builders {
        name: "flutter/try/Windows device_doctor"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "mirrors-engine"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "mirrors/engine"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux Android AOT Engine"
      }
      builders {
        name: "flutter/try/Linux Android Debug Engine"
      }
      builders {
        name: "flutter/try/Linux Android clang-tidy"
      }
      builders {
        name: "flutter/try/Linux Arm Host Engine"
      }
      builders {
        name: "flutter/try/Linux Fuchsia"
      }
      builders {
        name: "flutter/try/Linux Fuchsia FEMU"
      }
      builders {
        name: "flutter/try/Linux Host Engine"
      }
      builders {
        name: "flutter/try/Linux Host clang-tidy"
      }
      builders {
        name: "flutter/try/Linux License"
      }
      builders {
        name: "flutter/try/Linux Unopt"
      }
      builders {
        name: "flutter/try/Linux Web Engine"
      }
      builders {
        name: "flutter/try/Linux Web Framework tests"
      }
      builders {
        name: "flutter/try/Mac Host Engine"
      }
      builders {
        name: "flutter/try/Mac Host clang-tidy"
      }
      builders {
        name: "flutter/try/Mac Unopt"
      }
      builders {
        name: "flutter/try/Mac Web Engine"
      }
      builders {
        name: "flutter/try/Mac iOS Engine"
      }
      builders {
        name: "flutter/try/Mac iOS clang-tidy"
      }
      builders {
        name: "flutter/try/Windows Host Engine"
      }
      builders {
        name: "flutter/try/Windows Unopt"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "mirrors-flutter"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "mirrors/flutter"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux tool_integration_tests_1_4"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_2_4"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_3_4"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_4_4"
      }
      builders {
        name: "flutter/try/Linux tool_tests_commands"
      }
      builders {
        name: "flutter/try/Linux tool_tests_general"
      }
      builders {
        name: "flutter/try/Mac build_tests_1_4"
      }
      builders {
        name: "flutter/try/Mac build_tests_2_4"
      }
      builders {
        name: "flutter/try/Mac build_tests_3_4"
      }
      builders {
        name: "flutter/try/Mac build_tests_4_4"
      }
      builders {
        name: "flutter/try/Mac customer_testing"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_1_4"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_2_4"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_3_4"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_4_4"
      }
      builders {
        name: "flutter/try/Mac tool_tests_commands"
      }
      builders {
        name: "flutter/try/Mac tool_tests_general"
      }
      builders {
        name: "flutter/try/Windows build_tests_1_3"
      }
      builders {
        name: "flutter/try/Windows build_tests_2_3"
      }
      builders {
        name: "flutter/try/Windows build_tests_3_3"
      }
      builders {
        name: "flutter/try/Windows customer_testing"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_1_6"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_2_6"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_3_6"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_4_6"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_5_6"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_6_6"
      }
      builders {
        name: "flutter/try/Windows tool_tests_commands"
      }
      builders {
        name: "flutter/try/Windows tool_tests_general"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "mirrors-packages"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "mirrors/packages"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Mac_x64 build_all_packages master"
      }
      builders {
        name: "flutter/try/Mac_x64 build_all_packages stable"
      }
      builders {
        name: "flutter/try/Windows custom_package_tests master - packages"
      }
      builders {
        name: "flutter/try/Windows dart_unit_tests master - packages"
      }
      builders {
        name: "flutter/try/Windows win32-platform_tests master - packages"
      }
      builders {
        name: "flutter/try/Windows win32-platform_tests stable - packages"
      }
      builders {
        name: "flutter/try/Windows windows-build_all_packages master"
      }
      builders {
        name: "flutter/try/Windows windows-build_all_packages stable"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "mirrors-plugins"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "mirrors/plugins"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Mac_x64 build_all_plugins master"
      }
      builders {
        name: "flutter/try/Mac_x64 build_all_plugins stable"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_1_of_4 master"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_1_of_4 stable"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_2_of_4 master"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_2_of_4 stable"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_3_of_4 master"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_3_of_4 stable"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_4_of_4 master"
      }
      builders {
        name: "flutter/try/Mac_x64 ios_platform_tests_4_of_4 stable"
      }
      builders {
        name: "flutter/try/Mac_x64 lint_podspecs"
      }
      builders {
        name: "flutter/try/Windows plugin_tools_tests"
      }
      builders {
        name: "flutter/try/Windows win32-platform_tests master"
      }
      builders {
        name: "flutter/try/Windows win32-platform_tests stable"
      }
      builders {
        name: "flutter/try/Windows windows-build_all_plugins master"
      }
      builders {
        name: "flutter/try/Windows windows-build_all_plugins stable"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "recipes"
  gerrit {
    url: "https://flutter-review.googlesource.com"
    projects {
      name: "recipes"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-flutter-try-schedulers"
      dry_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/recipes-unittest-only"
        disable_reuse: true
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: ".*\\.md"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "(.*/)?OWNERS"
          exclude: true
        }
      }
      builders {
        name: "flutter/try/recipes-with-led"
      }
      builders {
        name: "flutter/try/tricium"
        disable_reuse: true
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
