Commit 599aab8a authored by Garrett Beaty's avatar Garrett Beaty Committed by Commit Bot

Add functions for declaring try and ci buckets and setting defaults.

This simplifies the process of updating the buckets by moving the
defaults to a common location and highlighting the differences between
the versioned and master-only settings. Each file is no longer relying
on scoped defaults being set by another file executing it. It also has
the benefit of being able to see what is different between the branches
by doing a simple diff of the bucket files.

Change-Id: Ifc08e477c1d212a68f6cbe016ca93c4f1176501e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2158917
Commit-Queue: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: default avatarAaron Gable <agable@chromium.org>
Auto-Submit: Garrett Beaty <gbeaty@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762073}
parent cea7dbeb
load('//lib/builders.star', 'cpu', 'goma', 'os', 'xcode_cache') load('//lib/builders.star', 'cpu', 'goma', 'os', 'xcode_cache')
load('//lib/ci.star', 'ci') load('//lib/ci.star', 'ci')
load('//versioned/trunk/vars.star', 'vars')
# Defaults that apply to all branch versions of the bucket
ci.defaults.build_numbers.set(True)
ci.defaults.configure_kitchen.set(True)
ci.defaults.cores.set(8)
ci.defaults.cpu.set(cpu.X86_64)
ci.defaults.executable.set('recipe:chromium')
ci.defaults.execution_timeout.set(3 * time.hour)
ci.defaults.header.set('//consoles/chromium-header.textpb')
ci.defaults.os.set(os.LINUX_DEFAULT)
ci.defaults.repo.set('https://chromium.googlesource.com/chromium/src')
ci.defaults.service_account.set(
'chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com')
ci.defaults.swarming_tags.set(['vpython:native-python-wrapper'])
# Execute the versioned files to define all of the per-branch entities # Execute the versioned files to define all of the per-branch entities
# (bucket, builders, console, poller, etc.) # (bucket, builders, console, poller, etc.)
...@@ -24,6 +9,12 @@ exec('//versioned/milestones/m81/buckets/ci.star') ...@@ -24,6 +9,12 @@ exec('//versioned/milestones/m81/buckets/ci.star')
exec('//versioned/milestones/m83/buckets/ci.star') exec('//versioned/milestones/m83/buckets/ci.star')
ci.set_defaults(
vars,
add_to_console_view = True,
)
# *** After this point everything is trunk only *** # *** After this point everything is trunk only ***
ci.console_view( ci.console_view(
name = 'chromium', name = 'chromium',
...@@ -315,11 +306,6 @@ ci.console_view( ...@@ -315,11 +306,6 @@ ci.console_view(
)] )]
ci.defaults.add_to_console_view.set(True)
ci.defaults.bucket.set('ci')
ci.defaults.triggered_by.set(['master-gitiles-trigger'])
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
# them, then lexicographically by their name # them, then lexicographically by their name
......
load('//lib/builders.star', 'builder', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'builder', 'cpu', 'defaults', 'goma', 'os')
load('//lib/try.star', 'try_') load('//lib/try.star', 'try_')
load('//versioned/trunk/vars.star', 'vars')
try_.defaults.add_to_list_view.set(True)
try_.defaults.bucket.set('try') try_.set_defaults(
try_.defaults.build_numbers.set(True) vars,
try_.defaults.configure_kitchen.set(True) execution_timeout = 6 * time.hour,
try_.defaults.cores.set(8) service_account = 'chromium-try-gpu-builder@chops-service-accounts.iam.gserviceaccount.com',
try_.defaults.cpu.set(cpu.X86_64) )
try_.defaults.cq_group.set('cq')
try_.defaults.executable.set('recipe:chromium_trybot')
try_.defaults.execution_timeout.set(6 * time.hour)
try_.defaults.expiration_timeout.set(2 * time.hour)
try_.defaults.os.set(os.LINUX_DEFAULT)
try_.defaults.service_account.set('chromium-try-gpu-builder@chops-service-accounts.iam.gserviceaccount.com')
try_.defaults.swarming_tags.set(['vpython:native-python-wrapper'])
try_.defaults.task_template_canary_percentage.set(5)
try_.defaults.caches.set([
swarming.cache(
name = 'win_toolchain',
path = 'win_toolchain',
),
])
# Builders appear after the function used to define them, with all builders # Builders appear after the function used to define them, with all builders
......
load('//lib/builders.star', 'builder', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'builder', 'cpu', 'defaults', 'goma', 'os')
load('//lib/try.star', 'try_') load('//lib/try.star', 'try_')
load('//versioned/trunk/vars.star', 'vars')
try_.defaults.add_to_list_view.set(True)
try_.defaults.bucket.set('try') try_.set_defaults(
try_.defaults.build_numbers.set(True) vars,
try_.defaults.configure_kitchen.set(True) execution_timeout = 2 * time.hour,
try_.defaults.cores.set(8) service_account = 'chromium-try-gpu-builder@chops-service-accounts.iam.gserviceaccount.com',
try_.defaults.cpu.set(cpu.X86_64) )
try_.defaults.cq_group.set('cq')
try_.defaults.executable.set('recipe:chromium_trybot')
try_.defaults.execution_timeout.set(2 * time.hour)
try_.defaults.expiration_timeout.set(2 * time.hour)
try_.defaults.os.set(os.LINUX_DEFAULT)
try_.defaults.service_account.set('chromium-try-gpu-builder@chops-service-accounts.iam.gserviceaccount.com')
try_.defaults.swarming_tags.set(['vpython:native-python-wrapper'])
try_.defaults.task_template_canary_percentage.set(5)
try_.defaults.caches.set([
swarming.cache(
name = 'win_toolchain',
path = 'win_toolchain',
),
])
try_.chromium_swangle_linux_builder( try_.chromium_swangle_linux_builder(
......
load('//lib/builders.star', 'cpu', 'goma', 'os', 'xcode_cache') load('//lib/builders.star', 'cpu', 'goma', 'os', 'xcode_cache')
load('//lib/try.star', 'try_') load('//lib/try.star', 'try_')
load('//versioned/trunk/vars.star', 'vars')
# Defaults that apply to all branch versions of the bucket
try_.defaults.build_numbers.set(True)
try_.defaults.configure_kitchen.set(True)
try_.defaults.cores.set(8)
try_.defaults.cpu.set(cpu.X86_64)
try_.defaults.executable.set('recipe:chromium_trybot')
try_.defaults.execution_timeout.set(4 * time.hour)
# Max. pending time for builds. CQ considers builds pending >2h as timed
# out: http://shortn/_8PaHsdYmlq. Keep this in sync.
try_.defaults.expiration_timeout.set(2 * time.hour)
try_.defaults.os.set(os.LINUX_DEFAULT)
try_.defaults.service_account.set('chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com')
try_.defaults.swarming_tags.set(['vpython:native-python-wrapper'])
try_.defaults.task_template_canary_percentage.set(5)
try_.defaults.caches.set([
swarming.cache(
name = 'win_toolchain',
path = 'win_toolchain',
),
])
# Execute the versioned files to define all of the per-branch entities # Execute the versioned files to define all of the per-branch entities
# (bucket, builders, console, cq_group, etc.) # (bucket, builders, console, cq_group, etc.)
...@@ -32,6 +9,12 @@ exec('//versioned/milestones/m81/buckets/try.star') ...@@ -32,6 +9,12 @@ exec('//versioned/milestones/m81/buckets/try.star')
exec('//versioned/milestones/m83/buckets/try.star') exec('//versioned/milestones/m83/buckets/try.star')
try_.set_defaults(
vars,
add_to_list_view = True,
)
# *** After this point everything is trunk only *** # *** After this point everything is trunk only ***
[try_.list_view( [try_.list_view(
...@@ -48,10 +31,6 @@ exec('//versioned/milestones/m83/buckets/try.star') ...@@ -48,10 +31,6 @@ exec('//versioned/milestones/m83/buckets/try.star')
'tryserver.chromium.win', 'tryserver.chromium.win',
)] )]
try_.defaults.add_to_list_view.set(True)
try_.defaults.bucket.set('try')
try_.defaults.cq_group.set('cq')
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
# them, then lexicographically by their name # them, then lexicographically by their name
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -25,6 +25,82 @@ defaults = args.defaults( ...@@ -25,6 +25,82 @@ defaults = args.defaults(
) )
def declare_bucket(milestone_vars):
luci.bucket(
name = milestone_vars.ci_bucket,
acls = [
acl.entry(
roles = acl.BUILDBUCKET_READER,
groups = 'all',
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
groups = 'project-chromium-ci-schedulers',
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'google/luci-task-force@google.com',
),
],
)
luci.gitiles_poller(
name = milestone_vars.ci_poller,
bucket = milestone_vars.ci_bucket,
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [milestone_vars.ref],
)
ci.main_console_view(
name = milestone_vars.main_console_name,
header = '//consoles/chromium-header.textpb',
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [milestone_vars.ref],
title = milestone_vars.main_console_title,
top_level_ordering = [
'chromium',
'chromium.win',
'chromium.mac',
'chromium.linux',
'chromium.chromiumos',
'chromium.android',
'chrome',
'chromium.memory',
'chromium.dawn',
'chromium.gpu',
'chromium.fyi',
'chromium.android.fyi',
'chromium.clang',
'chromium.fuzz',
'chromium.gpu.fyi',
'chromium.swangle',
],
)
def set_defaults(milestone_vars, **kwargs):
default_values = dict(
add_to_console_view = milestone_vars.is_master,
bucket = milestone_vars.ci_bucket,
build_numbers = True,
configure_kitchen = True,
cores = 8,
cpu = builders.cpu.X86_64,
executable = 'recipe:chromium',
execution_timeout = 3 * time.hour,
header = '//consoles/chromium-header.textpb',
os = builders.os.LINUX_DEFAULT,
pool = 'luci.chromium.ci',
repo = 'https://chromium.googlesource.com/chromium/src',
service_account = 'chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com',
swarming_tags = ['vpython:native-python-wrapper'],
triggered_by = [milestone_vars.ci_poller],
)
default_values.update(kwargs)
for k, v in default_values.items():
getattr(defaults, k).set(v)
def _console_view_ordering_graph_key(console_name): def _console_view_ordering_graph_key(console_name):
return graph.key('@chromium', '', 'console_view_ordering', console_name) return graph.key('@chromium', '', 'console_view_ordering', console_name)
...@@ -812,9 +888,11 @@ ci = struct( ...@@ -812,9 +888,11 @@ ci = struct(
builder = ci_builder, builder = ci_builder,
console_view = console_view, console_view = console_view,
console_view_entry = console_view_entry, console_view_entry = console_view_entry,
declare_bucket = declare_bucket,
defaults = defaults, defaults = defaults,
main_console_view = main_console_view, main_console_view = main_console_view,
ordering = ordering, ordering = ordering,
set_defaults = set_defaults,
android_builder = android_builder, android_builder = android_builder,
android_fyi_builder = android_fyi_builder, android_fyi_builder = android_fyi_builder,
......
...@@ -28,6 +28,92 @@ defaults = args.defaults( ...@@ -28,6 +28,92 @@ defaults = args.defaults(
) )
def declare_bucket(milestone_vars):
luci.bucket(
name = milestone_vars.try_bucket,
acls = [
acl.entry(
roles = acl.BUILDBUCKET_READER,
groups = 'all',
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
users = [
'findit-for-me@appspot.gserviceaccount.com',
'tricium-prod@appspot.gserviceaccount.com',
],
groups = [
'project-chromium-tryjob-access',
# Allow Pinpoint to trigger builds for bisection
'service-account-chromeperf',
'service-account-cq',
],
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'service-account-chromium-tryserver',
),
],
)
luci.cq_group(
name = milestone_vars.cq_group,
cancel_stale_tryjobs = True,
retry_config = cq.RETRY_ALL_FAILURES,
tree_status_host = milestone_vars.tree_status_host,
watch = cq.refset(
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [milestone_vars.cq_ref_regexp],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = 'project-chromium-committers',
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = 'project-chromium-tryjob-access',
),
],
)
try_.list_view(
name = milestone_vars.main_list_view_name,
title = milestone_vars.main_list_view_title,
)
def set_defaults(milestone_vars, **kwargs):
default_values = dict(
add_to_list_view = milestone_vars.is_master,
bucket = milestone_vars.try_bucket,
build_numbers = True,
caches = [
swarming.cache(
name = 'win_toolchain',
path = 'win_toolchain',
),
],
configure_kitchen = True,
cores = 8,
cpu = builders.cpu.X86_64,
cq_group = milestone_vars.cq_group,
executable = 'recipe:chromium_trybot',
execution_timeout = 4 * time.hour,
# Max. pending time for builds. CQ considers builds pending >2h as timed
# out: http://shortn/_8PaHsdYmlq. Keep this in sync.
expiration_timeout = 2 * time.hour,
os = builders.os.LINUX_DEFAULT,
pool = 'luci.chromium.try',
service_account = 'chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com',
swarming_tags = ['vpython:native-python-wrapper'],
task_template_canary_percentage = 5,
)
default_values.update(kwargs)
for k, v in default_values.items():
getattr(defaults, k).set(v)
def _sorted_list_view_graph_key(console_name): def _sorted_list_view_graph_key(console_name):
return graph.key('@chromium', '', 'sorted_list_view', console_name) return graph.key('@chromium', '', 'sorted_list_view', console_name)
...@@ -398,8 +484,10 @@ def gpu_chromium_win_builder(*, name, os=builders.os.WINDOWS_ANY, **kwargs): ...@@ -398,8 +484,10 @@ def gpu_chromium_win_builder(*, name, os=builders.os.WINDOWS_ANY, **kwargs):
try_ = struct( try_ = struct(
defaults = defaults, defaults = defaults,
builder = try_builder, builder = try_builder,
declare_bucket = declare_bucket,
job = tryjob, job = tryjob,
list_view = list_view, list_view = list_view,
set_defaults = set_defaults,
blink_builder = blink_builder, blink_builder = blink_builder,
blink_mac_builder = blink_mac_builder, blink_mac_builder = blink_mac_builder,
......
load('//lib/builders.star', 'builder_name', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'builder_name', 'cpu', 'goma', 'os')
load('//lib/ci.star', 'ci') load('//lib/ci.star', 'ci')
# Load this using relative path so that the load statement doesn't # Load this using relative path so that the load statement doesn't
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
defaults.pool.set('luci.chromium.ci')
ci.set_defaults(
luci.bucket( vars,
name = vars.ci_bucket, bucketed_triggers = True,
acls = [ main_console_view = vars.main_console_name,
acl.entry( )
roles = acl.BUILDBUCKET_READER,
groups = 'all', ci.declare_bucket(vars)
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
groups = 'project-chromium-ci-schedulers',
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'google/luci-task-force@google.com',
),
],
)
luci.gitiles_poller(
name = vars.ci_poller,
bucket = vars.ci_bucket,
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
)
ci.main_console_view(
name = vars.main_console_name,
header = '//consoles/chromium-header.textpb',
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
title = vars.main_console_title,
top_level_ordering = [
'chromium',
'chromium.win',
'chromium.mac',
'chromium.linux',
'chromium.chromiumos',
'chromium.android',
'chrome',
'chromium.memory',
'chromium.dawn',
'chromium.gpu',
'chromium.fyi',
'chromium.android.fyi',
'chromium.clang',
'chromium.fuzz',
'chromium.gpu.fyi',
'chromium.swangle',
],
)
ci.defaults.add_to_console_view.set(vars.is_master)
ci.defaults.bucket.set(vars.ci_bucket)
ci.defaults.bucketed_triggers.set(True)
ci.defaults.main_console_view.set(vars.main_console_name)
ci.defaults.triggered_by.set([vars.ci_poller])
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
......
load('//lib/builders.star', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'cpu', 'goma', 'os')
load('//lib/try.star', 'try_') load('//lib/try.star', 'try_')
# Load this using relative path so that the load statement doesn't # Load this using relative path so that the load statement doesn't
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
defaults.pool.set('luci.chromium.try')
luci.bucket( try_.declare_bucket(vars)
name = vars.try_bucket,
acls = [
acl.entry(
roles = acl.BUILDBUCKET_READER,
groups = 'all',
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
users = [
'findit-for-me@appspot.gserviceaccount.com',
'tricium-prod@appspot.gserviceaccount.com',
],
groups = [
'project-chromium-tryjob-access',
# Allow Pinpoint to trigger builds for bisection
'service-account-chromeperf',
'service-account-cq',
],
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'service-account-chromium-tryserver',
),
],
)
luci.cq_group( try_.set_defaults(
name = vars.cq_group, vars,
cancel_stale_tryjobs = True, main_list_view = vars.main_list_view_name,
retry_config = cq.RETRY_ALL_FAILURES,
watch = cq.refset(
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.cq_ref_regexp],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = 'project-chromium-committers',
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = 'project-chromium-tryjob-access',
),
],
)
try_.list_view(
name = vars.main_list_view_name,
title = vars.main_list_view_title,
) )
try_.defaults.add_to_list_view.set(vars.is_master)
try_.defaults.bucket.set(vars.try_bucket)
try_.defaults.cq_group.set(vars.cq_group)
try_.defaults.main_list_view.set(vars.main_list_view_name)
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
# them, then lexicographically by their name # them, then lexicographically by their name
......
...@@ -10,4 +10,5 @@ vars = struct( ...@@ -10,4 +10,5 @@ vars = struct(
cq_ref_regexp = 'refs/branch-heads/4044', cq_ref_regexp = 'refs/branch-heads/4044',
main_list_view_name = 'try-m81', main_list_view_name = 'try-m81',
main_list_view_title = 'Chromium M81 CQ console', main_list_view_title = 'Chromium M81 CQ console',
tree_status_host = None,
) )
load('//lib/builders.star', 'builder_name', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'builder_name', 'cpu', 'goma', 'os')
load('//lib/ci.star', 'ci') load('//lib/ci.star', 'ci')
# Load this using relative path so that the load statement doesn't # Load this using relative path so that the load statement doesn't
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
defaults.pool.set('luci.chromium.ci')
ci.set_defaults(
luci.bucket( vars,
name = vars.ci_bucket, bucketed_triggers = True,
acls = [ main_console_view = vars.main_console_name,
acl.entry( )
roles = acl.BUILDBUCKET_READER,
groups = 'all', ci.declare_bucket(vars)
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
groups = 'project-chromium-ci-schedulers',
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'google/luci-task-force@google.com',
),
],
)
luci.gitiles_poller(
name = vars.ci_poller,
bucket = vars.ci_bucket,
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
)
ci.main_console_view(
name = vars.main_console_name,
header = '//consoles/chromium-header.textpb',
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
title = vars.main_console_title,
top_level_ordering = [
'chromium',
'chromium.win',
'chromium.mac',
'chromium.linux',
'chromium.chromiumos',
'chromium.android',
'chrome',
'chromium.memory',
'chromium.dawn',
'chromium.gpu',
'chromium.fyi',
'chromium.android.fyi',
'chromium.clang',
'chromium.fuzz',
'chromium.gpu.fyi',
'chromium.swangle',
],
)
ci.defaults.add_to_console_view.set(vars.is_master)
ci.defaults.bucket.set(vars.ci_bucket)
ci.defaults.bucketed_triggers.set(True)
ci.defaults.main_console_view.set(vars.main_console_name)
ci.defaults.triggered_by.set([vars.ci_poller])
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
......
load('//lib/builders.star', 'cpu', 'defaults', 'goma', 'os') load('//lib/builders.star', 'cpu', 'goma', 'os')
load('//lib/try.star', 'try_') load('//lib/try.star', 'try_')
# Load this using relative path so that the load statement doesn't # Load this using relative path so that the load statement doesn't
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
defaults.pool.set('luci.chromium.try')
luci.bucket( try_.declare_bucket(vars)
name = vars.try_bucket,
acls = [
acl.entry(
roles = acl.BUILDBUCKET_READER,
groups = 'all',
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
users = [
'findit-for-me@appspot.gserviceaccount.com',
'tricium-prod@appspot.gserviceaccount.com',
],
groups = [
'project-chromium-tryjob-access',
# Allow Pinpoint to trigger builds for bisection
'service-account-chromeperf',
'service-account-cq',
],
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'service-account-chromium-tryserver',
),
],
)
luci.cq_group( try_.set_defaults(
name = vars.cq_group, vars,
cancel_stale_tryjobs = True, main_list_view = vars.main_list_view_name,
retry_config = cq.RETRY_ALL_FAILURES,
tree_status_host = getattr(vars, 'tree_status_host', None),
watch = cq.refset(
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.cq_ref_regexp],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = 'project-chromium-committers',
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = 'project-chromium-tryjob-access',
),
],
)
try_.list_view(
name = vars.main_list_view_name,
title = vars.main_list_view_title,
) )
try_.defaults.add_to_list_view.set(vars.is_master)
try_.defaults.bucket.set(vars.try_bucket)
try_.defaults.cq_group.set(vars.cq_group)
try_.defaults.main_list_view.set(vars.main_list_view_name)
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
# them, then lexicographically by their name # them, then lexicographically by their name
......
...@@ -10,4 +10,5 @@ vars = struct( ...@@ -10,4 +10,5 @@ vars = struct(
cq_ref_regexp = 'refs/branch-heads/4103', cq_ref_regexp = 'refs/branch-heads/4103',
main_list_view_name = 'try-m83', main_list_view_name = 'try-m83',
main_list_view_title = 'Chromium M83 CQ console', main_list_view_title = 'Chromium M83 CQ console',
tree_status_host = None,
) )
...@@ -4,63 +4,14 @@ load('//lib/ci.star', 'ci') ...@@ -4,63 +4,14 @@ load('//lib/ci.star', 'ci')
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
luci.bucket(
name = vars.ci_bucket, ci.set_defaults(
acls = [ vars,
acl.entry( bucketed_triggers = True,
roles = acl.BUILDBUCKET_READER, main_console_view = vars.main_console_name,
groups = 'all', )
),
acl.entry( ci.declare_bucket(vars)
roles = acl.BUILDBUCKET_TRIGGERER,
groups = 'project-chromium-ci-schedulers',
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'google/luci-task-force@google.com',
),
],
)
luci.gitiles_poller(
name = vars.ci_poller,
bucket = vars.ci_bucket,
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
)
ci.main_console_view(
name = vars.main_console_name,
header = '//consoles/chromium-header.textpb',
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.ref],
title = vars.main_console_title,
top_level_ordering = [
'chromium',
'chromium.win',
'chromium.mac',
'chromium.linux',
'chromium.chromiumos',
'chromium.android',
'chrome',
'chromium.memory',
'chromium.dawn',
'chromium.gpu',
'chromium.fyi',
'chromium.android.fyi',
'chromium.clang',
'chromium.fuzz',
'chromium.gpu.fyi',
'chromium.swangle',
],
)
ci.defaults.add_to_console_view.set(vars.is_master)
ci.defaults.bucket.set(vars.ci_bucket)
ci.defaults.bucketed_triggers.set(True)
ci.defaults.main_console_view.set(vars.main_console_name)
ci.defaults.triggered_by.set([vars.ci_poller])
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
......
...@@ -4,66 +4,15 @@ load('//lib/try.star', 'try_') ...@@ -4,66 +4,15 @@ load('//lib/try.star', 'try_')
# need to be changed when making a new milestone # need to be changed when making a new milestone
load('../vars.star', 'vars') load('../vars.star', 'vars')
luci.bucket(
name = vars.try_bucket,
acls = [
acl.entry(
roles = acl.BUILDBUCKET_READER,
groups = 'all',
),
acl.entry(
roles = acl.BUILDBUCKET_TRIGGERER,
users = [
'findit-for-me@appspot.gserviceaccount.com',
'tricium-prod@appspot.gserviceaccount.com',
],
groups = [
'project-chromium-tryjob-access',
# Allow Pinpoint to trigger builds for bisection
'service-account-chromeperf',
'service-account-cq',
],
),
acl.entry(
roles = acl.BUILDBUCKET_OWNER,
groups = 'service-account-chromium-tryserver',
),
],
)
luci.cq_group( try_.declare_bucket(vars)
name = vars.cq_group,
cancel_stale_tryjobs = True,
retry_config = cq.RETRY_ALL_FAILURES,
tree_status_host = getattr(vars, 'tree_status_host', None),
watch = cq.refset(
repo = 'https://chromium.googlesource.com/chromium/src',
refs = [vars.cq_ref_regexp],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = 'project-chromium-committers',
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = 'project-chromium-tryjob-access',
),
],
)
try_.list_view( try_.set_defaults(
name = vars.main_list_view_name, vars,
title = vars.main_list_view_title, main_list_view = vars.main_list_view_name,
) )
try_.defaults.add_to_list_view.set(vars.is_master)
try_.defaults.bucket.set(vars.try_bucket)
try_.defaults.cq_group.set(vars.cq_group)
try_.defaults.main_list_view.set(vars.main_list_view_name)
# Builders are sorted first lexicographically by the function used to define # Builders are sorted first lexicographically by the function used to define
# them, then lexicographically by their name # them, then lexicographically by their name
......
...@@ -11,6 +11,6 @@ vars = struct( ...@@ -11,6 +11,6 @@ vars = struct(
cq_ref_regexp = 'refs/heads/.+', cq_ref_regexp = 'refs/heads/.+',
main_list_view_name = 'try', main_list_view_name = 'try',
main_list_view_title = 'Chromium CQ console', main_list_view_title = 'Chromium CQ console',
# Delete this line for branches # Switch this to None for branches
tree_status_host = 'chromium-status.appspot.com/', tree_status_host = 'chromium-status.appspot.com/',
) )
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