# 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: "gerrit_repo"
  gerrit {
    url: "https://gerrit-review.googlesource.com"
    projects {
      name: "gerrit"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-gerrit-committers"
      dry_run_access_list: "all"
      new_patchset_run_access_list: "all"
    }
    tryjob {
      builders {
        name: "gerrit/try/Verify gerrit CL for web"
        mode_allowlist: "DRY_RUN"
        mode_allowlist: "FULL_RUN"
        mode_allowlist: "NEW_PATCHSET_RUN"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
}
config_groups {
  name: "luci-test_repo"
  gerrit {
    url: "https://gerrit-review.googlesource.com"
    projects {
      name: "luci-test"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-gerrit-committers"
      dry_run_access_list: "all"
      new_patchset_run_access_list: "all"
    }
    tryjob {
      builders {
        name: "gerrit/try/Verify luci-test CL"
        mode_allowlist: "DRY_RUN"
        mode_allowlist: "FULL_RUN"
        mode_allowlist: "NEW_PATCHSET_RUN"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 100
        transient_failure_weight: 1
        timeout_weight: 100
      }
    }
  }
}
