Commit 6117c26f authored by Garrett Beaty's avatar Garrett Beaty Committed by Commit Bot

Add a CQ group watching all branch heads with no verifiers.

The project settings for chromium/src requires all changes to be landed
by submitting to CQ, but nothing happens if there is no CQ configured
for the branch.

Bug: 1044808
Change-Id: I21f007029c3dd6fbae95a157245eb81a7896d62e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2019704
Commit-Queue: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: default avatarAaron Gable <agable@chromium.org>
Reviewed-by: default avatarAndrii Shyshkalov <tandrii@google.com>
Auto-Submit: Garrett Beaty <gbeaty@chromium.org>
Cr-Commit-Position: refs/heads/master@{#740386}
parent 1e355135
...@@ -1363,3 +1363,23 @@ config_groups: < ...@@ -1363,3 +1363,23 @@ config_groups: <
> >
> >
> >
config_groups: <
name: "fallback-empty-cq"
gerrit: <
url: "https://chromium-review.googlesource.com"
projects: <
name: "chromium/src"
ref_regexp: "refs/branch-heads/.+"
>
>
verifiers: <
gerrit_cq_ability: <
committer_list: "project-chromium-committers"
dry_run_access_list: "project-chromium-tryjob-access"
>
tree_status: <
url: "https://chromium-status.appspot.com/"
>
>
fallback: YES
>
def _find_empty_cq_group(ctx):
cq_cfg = ctx.output['commit-queue.cfg']
for c in cq_cfg.config_groups:
if c.name == 'fallback-empty-cq':
return c
fail('Could not find empty CQ group')
def _generate_cq_group_fallback(ctx):
cq_group = _find_empty_cq_group(ctx)
cq_group.fallback = 1 # YES
lucicfg.generator(_generate_cq_group_fallback)
...@@ -59,6 +59,31 @@ luci.cq( ...@@ -59,6 +59,31 @@ luci.cq(
status_host = 'chromium-cq-status.appspot.com', status_host = 'chromium-cq-status.appspot.com',
) )
# Declare a CQ group that watches all branch heads
# We won't add any builders, but SUBMIT TO CQ fails on Gerrit if there is no CQ
# group
luci.cq_group(
name = 'fallback-empty-cq',
# TODO(crbug/959436): enable it.
cancel_stale_tryjobs = False,
retry_config = cq.RETRY_ALL_FAILURES,
tree_status_host = 'chromium-status.appspot.com/',
watch = cq.refset(
repo = 'https://chromium.googlesource.com/chromium/src',
refs = ['refs/branch-heads/.+'],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = 'project-chromium-committers',
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = 'project-chromium-tryjob-access',
),
],
)
luci.logdog( luci.logdog(
gs_bucket = 'chromium-luci-logdog', gs_bucket = 'chromium-luci-logdog',
) )
...@@ -122,6 +147,10 @@ exec('//consoles/tryserver.chromium.win.star') ...@@ -122,6 +147,10 @@ exec('//consoles/tryserver.chromium.win.star')
exec('//notifiers.star') exec('//notifiers.star')
exec('//generators/cq-builders-md.star') exec('//generators/cq-builders-md.star')
# TODO(https://crbug.com/966115) Run the generator to set the fallback field for
# the empty CQ group until it's exposed in lucicfg or there is a better way to
# create a CQ group for all of the canary branches
exec('//generators/cq-fallback.star')
# TODO(https://crbug.com/819899) There are a number of noop jobs for dummy # TODO(https://crbug.com/819899) There are a number of noop jobs for dummy
# builders defined due to legacy requirements that trybots mirror CI bots # builders defined due to legacy requirements that trybots mirror CI bots
# no-op scheduler jobs are not supported by the lucicfg libraries, so this # no-op scheduler jobs are not supported by the lucicfg libraries, so this
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment