# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Config message:
#   https://config.luci.app/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"
      new_patchset_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: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".*\\.md"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_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"
      new_patchset_run_access_list: "project-flutter-try-schedulers"
    }
  }
}
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"
      new_patchset_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux linux_android_aot_engine"
      }
      builders {
        name: "flutter/try/Linux linux_android_debug_engine"
      }
      builders {
        name: "flutter/try/Linux linux_arm_host_desktop_engine"
      }
      builders {
        name: "flutter/try/Linux linux_arm_host_engine"
      }
      builders {
        name: "flutter/try/Linux linux_host_desktop_engine"
      }
      builders {
        name: "flutter/try/Linux linux_host_engine"
      }
      builders {
        name: "flutter/try/Linux linux_host_engine_ddm"
      }
      builders {
        name: "flutter/try/Linux linux_license"
      }
      builders {
        name: "flutter/try/Linux mac_android_aot_engine"
      }
      builders {
        name: "flutter/try/Linux windows_android_aot_engine"
      }
      builders {
        name: "flutter/try/Linux windows_arm_host_engine"
      }
      builders {
        name: "flutter/try/Linux windows_host_engine"
      }
      builders {
        name: "flutter/try/Mac mac_host_engine"
      }
      builders {
        name: "flutter/try/Mac mac_ios_engine"
      }
      builders {
        name: "flutter/try/Mac mac_ios_engine_ddm"
      }
      builders {
        name: "flutter/try/Mac mac_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"
      new_patchset_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux android_java11_dependency_smoke_tests"
      }
      builders {
        name: "flutter/try/Linux android_java17_dependency_smoke_tests"
      }
      builders {
        name: "flutter/try/Linux android_java17_tool_integration_tests"
      }
      builders {
        name: "flutter/try/Linux android_preview_tool_integration_tests"
      }
      builders {
        name: "flutter/try/Linux build_aar_module_test"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_1_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_2_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_3_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_4_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_5_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_6_7"
      }
      builders {
        name: "flutter/try/Linux tool_integration_tests_7_7"
      }
      builders {
        name: "flutter/try/Linux tool_tests_commands"
      }
      builders {
        name: "flutter/try/Linux tool_tests_general"
      }
      builders {
        name: "flutter/try/Linux tool_tests_widget_preview_scaffold"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_1"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_10"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_2"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_3"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_4"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_5"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_6"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_7"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_8"
      }
      builders {
        name: "flutter/try/Mac tool_integration_tests_9"
      }
      builders {
        name: "flutter/try/Mac tool_tests_general"
      }
      builders {
        name: "flutter/try/Mac_arm64 build_tests_1_5"
      }
      builders {
        name: "flutter/try/Mac_arm64 build_tests_2_5"
      }
      builders {
        name: "flutter/try/Mac_arm64 build_tests_3_5"
      }
      builders {
        name: "flutter/try/Mac_arm64 build_tests_4_5"
      }
      builders {
        name: "flutter/try/Mac_arm64 build_tests_5_5"
      }
      builders {
        name: "flutter/try/Mac_arm64 tool_tests_commands"
      }
      builders {
        name: "flutter/try/Mac_x64 build_tests_1_5"
      }
      builders {
        name: "flutter/try/Mac_x64 build_tests_2_5"
      }
      builders {
        name: "flutter/try/Mac_x64 build_tests_3_5"
      }
      builders {
        name: "flutter/try/Mac_x64 build_tests_4_5"
      }
      builders {
        name: "flutter/try/Mac_x64 build_tests_5_5"
      }
      builders {
        name: "flutter/try/Mac_x64 tool_tests_commands"
      }
      builders {
        name: "flutter/try/Windows build_tests_1_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_2_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_3_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_4_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_5_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_6_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_7_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_8_9"
      }
      builders {
        name: "flutter/try/Windows build_tests_9_9"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_10_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_1_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_2_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_3_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_4_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_5_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_6_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_7_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_8_10"
      }
      builders {
        name: "flutter/try/Windows tool_integration_tests_9_10"
      }
      builders {
        name: "flutter/try/Windows tool_tests_commands_1_2"
      }
      builders {
        name: "flutter/try/Windows tool_tests_commands_2_2"
      }
      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"
      new_patchset_run_access_list: "project-flutter-try-schedulers"
    }
    tryjob {
      builders {
        name: "flutter/try/Linux dart_unit_test_shard_1 master"
      }
      builders {
        name: "flutter/try/Linux repo_checks"
      }
      builders {
        name: "flutter/try/Linux_android android_build_all_packages stable"
      }
      builders {
        name: "flutter/try/Linux_android custom_package_tests master"
      }
      builders {
        name: "flutter/try/Linux_desktop build_all_packages master"
      }
      builders {
        name: "flutter/try/Linux_web web_build_all_packages master"
      }
      builders {
        name: "flutter/try/Linux_web web_dart_unit_test_shard_1 master"
      }
      builders {
        name: "flutter/try/Linux_web web_dart_unit_test_wasm_shard_1 master"
      }
      builders {
        name: "flutter/try/Mac_arm64 ios_platform_tests_shard_1 master"
      }
      builders {
        name: "flutter/try/Mac_arm64 macos_platform_tests master - packages"
      }
      builders {
        name: "flutter/try/Mac_x64 build_all_packages stable"
      }
      builders {
        name: "flutter/try/Windows_arm64 windows-build_all_packages master"
      }
      builders {
        name: "flutter/try/Windows_x64 repo_tools_tests"
      }
      builders {
        name: "flutter/try/Windows_x64 win32-platform_tests_shard_1 master"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 2
        transient_failure_weight: 1
        timeout_weight: 1
      }
    }
  }
}
config_groups {
  name: "recipes-cq"
  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"
      new_patchset_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: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".*\\.md"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: "(.*/)?OWNERS"
          exclude: true
        }
      }
      builders {
        name: "flutter/try/recipes-with-led"
      }
      builders {
        name: "flutter/try/tricium"
        disable_reuse: true
        owner_whitelist_group: "project-flutter-try-schedulers"
        mode_allowlist: "NEW_PATCHSET_RUN"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
}
gerrit_listener_type: GERRIT_LISTENER_TYPE_LEGACY_POLLER
