# 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

cq_status_host: "chromium-cq-status.appspot.com"
config_groups {
  name: "build"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "chromium/tools/build"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra-internal/try/build_limited Roll Tester (build)"
      }
      builders {
        name: "infra-internal/try/chrome_release Roll Tester (build)"
      }
      builders {
        name: "infra/try/Build Presubmit"
        disable_reuse: true
      }
      builders {
        name: "infra/try/Build Recipes Tester"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "depot_tools"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "chromium/tools/depot_tools"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra-internal/try/build_limited Roll Tester (depot_tools)"
      }
      builders {
        name: "infra-internal/try/chrome_release Roll Tester (depot_tools)"
      }
      builders {
        name: "infra/try/Build downstream Recipe Roll tester from Depot Tools"
      }
      builders {
        name: "infra/try/ChromiumOS downstream Recipe Roll tester from Depot Tools"
      }
      builders {
        name: "infra/try/Depot Tools Presubmit"
        disable_reuse: true
      }
      builders {
        name: "infra/try/Depot Tools Presubmit (win)"
        disable_reuse: true
      }
      builders {
        name: "infra/try/Infra downstream Recipe Roll tester from Depot Tools"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "expect_tests"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/testing/expect_tests"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra/try/Expect-Tests Presubmit"
        disable_reuse: true
      }
      retry_config {}
    }
  }
}
config_groups {
  name: "gerrit-plugins"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/gerrit-plugins/binary-size"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/buildbucket"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/chromium-behavior"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/chromium-binary-size"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/chumpdetector"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/code-coverage"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/git-numberer"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/landingwidget"
      ref_regexp: "refs/heads/main"
    }
    projects {
      name: "infra/gerrit-plugins/tricium"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra/try/Gerrit Plugins Tester"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "infra"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/infra"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tree_status {
      url: "https://infra-status.appspot.com"
    }
    tryjob {
      builders {
        name: "infra-internal/try/3pp linux-amd64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp linux-arm64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp linux-armv6l"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp linux-riscv64"
        experiment_percentage: 100
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp mac-amd64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp mac-arm64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp windows-386"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp windows-amd64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/3pp windows-arm64"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "3pp/.+"
        }
      }
      builders {
        name: "infra-internal/try/Linux ARM wheel builder py3.11"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Linux ARM wheel builder py3.8"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Linux x64 wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Mac ARM64 wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Mac wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Universal wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Windows-x64 wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/Windows-x86 wheel builder"
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.+"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/.*README.*"
          exclude: true
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          path_regexp: "infra/tools/dockerbuild/OWNERS"
          exclude: true
        }
      }
      builders {
        name: "infra-internal/try/build_limited Roll Tester (infra)"
      }
      builders {
        name: "infra-internal/try/chrome_release Roll Tester (infra)"
      }
      builders {
        name: "infra/try/Build downstream Recipe Roll tester from Infra"
      }
      builders {
        name: "infra/try/infra-try-frontend"
      }
      builders {
        name: "infra/try/infra-try-images"
        experiment_percentage: 100
      }
      builders {
        name: "infra/try/infra-try-jammy-64"
      }
      builders {
        name: "infra/try/infra-try-mac"
      }
      builders {
        name: "infra/try/infra-try-presubmit"
        disable_reuse: true
      }
      builders {
        name: "infra/try/infra-try-win"
      }
      retry_config {}
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "luci-go"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/luci/luci-go"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra/try/luci-go-analysis"
        owner_whitelist_group: "project-infra-tryjob-access"
        mode_allowlist: "ANALYZER_RUN"
      }
      builders {
        name: "infra/try/luci-go-lint"
        owner_whitelist_group: "project-infra-tryjob-access"
        mode_allowlist: "ANALYZER_RUN"
      }
      builders {
        name: "infra/try/luci-go-try-frontend"
      }
      builders {
        name: "infra/try/luci-go-try-images"
        experiment_percentage: 100
      }
      builders {
        name: "infra/try/luci-go-try-linux"
      }
      builders {
        name: "infra/try/luci-go-try-mac"
      }
      builders {
        name: "infra/try/luci-go-try-presubmit"
        mode_allowlist: "DRY_RUN"
        mode_allowlist: "FULL_RUN"
        mode_allowlist: "NEW_PATCHSET_RUN"
      }
      builders {
        name: "infra/try/luci-go-try-win"
      }
      retry_config {}
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "luci-py"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/luci/luci-py"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra/try/luci-py-try-jammy-64"
      }
      builders {
        name: "infra/try/luci-py-try-mac10.15-64"
      }
      builders {
        name: "infra/try/luci-py-try-presubmit"
        disable_reuse: true
      }
      builders {
        name: "infra/try/luci-py-try-win10-64"
      }
      retry_config {}
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "python-adb"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/luci/python-adb"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra/try/python-adb-presubmit"
        disable_reuse: true
      }
      retry_config {}
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
config_groups {
  name: "recipes-py"
  gerrit {
    url: "https://chromium-review.googlesource.com"
    projects {
      name: "infra/luci/recipes-py"
      ref_regexp: "refs/heads/main"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-infra-committers"
      dry_run_access_list: "project-infra-tryjob-access"
      new_patchset_run_access_list: "project-infra-new-patchset-run-access"
    }
    tryjob {
      builders {
        name: "infra-internal/try/build_limited Roll Tester (recipe_engine)"
      }
      builders {
        name: "infra-internal/try/chrome_release Roll Tester (recipe_engine)"
      }
      builders {
        name: "infra/try/Build downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/ChromiumOS downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/Depot Tools downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/Fuchsia downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/Infra downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/Pigweed downstream Recipe Roll tester from Recipe Engine"
      }
      builders {
        name: "infra/try/recipes-py-try-presubmit"
        disable_reuse: true
      }
      builders {
        name: "infra/try/recipes-py-try-presubmit-win"
        disable_reuse: true
        experiment_percentage: 100
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
  user_limits {
    name: "chromium-infra-emergency-quota"
    principals: "group:chromium-infra-emergency-quota"
    run {
      max_active {
        unlimited: true
      }
    }
  }
  user_limits {
    name: "luci-cv-quota-dogfooders"
    principals: "group:luci-cv-quota-dogfooders"
    run {
      max_active {
        value: 3
      }
    }
  }
  user_limits {
    name: "googlers"
    principals: "group:googlers"
    run {
      max_active {
        value: 50
      }
    }
  }
}
