diff options
Diffstat (limited to 'chromium/infra/config/main.star')
-rwxr-xr-x | chromium/infra/config/main.star | 123 |
1 files changed, 81 insertions, 42 deletions
diff --git a/chromium/infra/config/main.star b/chromium/infra/config/main.star index b2898681118..1f057cfcb38 100755 --- a/chromium/infra/config/main.star +++ b/chromium/infra/config/main.star @@ -6,49 +6,63 @@ # See https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/lucicfg/doc/README.md # for information on starlark/lucicfg -load('//project.star', 'master_only_exec') +load("//lib/branches.star", "branches") +load("//project.star", "settings") lucicfg.check_version( - min = '1.15.1', - message = 'Update depot_tools', + min = "1.18.4", + message = "Update depot_tools", ) # Enable LUCI Realms support. -lucicfg.enable_experiment('crbug.com/1085650') +lucicfg.enable_experiment("crbug.com/1085650") + +# Enable tree closing. +lucicfg.enable_experiment("crbug.com/1054172") # Tell lucicfg what files it is allowed to touch lucicfg.config( - config_dir = 'generated', + config_dir = "generated", tracked_files = [ - 'commit-queue.cfg', - 'cq-builders.md', - 'cr-buildbucket.cfg', - 'luci-logdog.cfg', - 'luci-milo.cfg', - 'luci-notify.cfg', - 'luci-scheduler.cfg', - 'project.cfg', - 'project.pyl', - 'realms.cfg', - 'tricium-prod.cfg', + "commit-queue.cfg", + "cq-builders.md", + "cr-buildbucket.cfg", + "luci-logdog.cfg", + "luci-milo.cfg", + "luci-notify.cfg", + "luci-notify/email-templates/*.template", + "luci-scheduler.cfg", + "project.cfg", + "project.pyl", + "realms.cfg", + "tricium-prod.cfg", ], fail_on_warnings = True, + lint_checks = [ + "default", + "-confusing-name", + "-function-docstring", + "-function-docstring-args", + "-function-docstring-return", + "-function-docstring-header", + "-module-docstring", + ], ) # Just copy tricium-prod.cfg to the generated outputs lucicfg.emit( - dest = 'tricium-prod.cfg', - data = io.read_file('tricium-prod.cfg'), + dest = "tricium-prod.cfg", + data = io.read_file("tricium-prod.cfg"), ) luci.project( - name = 'chromium', - buildbucket = 'cr-buildbucket.appspot.com', - logdog = 'luci-logdog.appspot.com', - milo = 'luci-milo.appspot.com', - notify = 'luci-notify.appspot.com', - scheduler = 'luci-scheduler.appspot.com', - swarming = 'chromium-swarm.appspot.com', + name = settings.project, + buildbucket = "cr-buildbucket.appspot.com", + logdog = "luci-logdog.appspot.com", + milo = "luci-milo.appspot.com", + notify = "luci-notify.appspot.com", + scheduler = "luci-scheduler.appspot.com", + swarming = "chromium-swarm.appspot.com", acls = [ acl.entry( roles = [ @@ -56,15 +70,15 @@ luci.project( acl.PROJECT_CONFIGS_READER, acl.SCHEDULER_READER, ], - groups = 'all', + groups = "all", ), acl.entry( roles = acl.LOGDOG_WRITER, - groups = 'luci-logdog-chromium-writers', + groups = "luci-logdog-chromium-writers", ), acl.entry( roles = acl.SCHEDULER_OWNER, - groups = 'project-chromium-admins', + groups = "project-chromium-admins", ), ], ) @@ -72,27 +86,51 @@ luci.project( luci.cq( submit_max_burst = 2, submit_burst_delay = time.minute, - status_host = 'chromium-cq-status.appspot.com', + status_host = "chromium-cq-status.appspot.com", ) luci.logdog( - gs_bucket = 'chromium-luci-logdog', + gs_bucket = "chromium-luci-logdog", ) luci.milo( - logo = 'https://storage.googleapis.com/chrome-infra-public/logo/chromium.svg', + logo = "https://storage.googleapis.com/chrome-infra-public/logo/chromium.svg", +) + +luci.notify( + tree_closing_enabled = True, +) + +# An all-purpose public realm. +luci.realm( + name = "public", + bindings = [ + luci.binding( + roles = "role/buildbucket.reader", + groups = "all", + ), + luci.binding( + roles = "role/resultdb.invocationCreator", + groups = "project-chromium-tryjob-access", + ), + # Other roles are inherited from @root which grants them to group:all. + ], ) -exec('//recipes.star') +exec("//swarming.star") -exec('//notifiers.star') +exec("//recipes.star") -exec('//subprojects/chromium/main.star') -master_only_exec('//subprojects/findit/main.star') -master_only_exec('//subprojects/goma/main.star') -master_only_exec('//subprojects/webrtc/main.star') +exec("//notifiers.star") + +exec("//subprojects/chromium/subproject.star") +branches.exec("//subprojects/codesearch/subproject.star") +branches.exec("//subprojects/findit/subproject.star") +branches.exec("//subprojects/goma/subproject.star") +branches.exec("//subprojects/webrtc/subproject.star") + +branches.exec("//generators/cq-builders-md.star") -master_only_exec('//generators/cq-builders-md.star') # This should be exec'ed before exec'ing scheduler-noop-jobs.star because # attempting to read the buildbucket field that is not set for the noop jobs # actually causes an empty buildbucket message to be set @@ -100,14 +138,15 @@ master_only_exec('//generators/cq-builders-md.star') # problems when the number of builders with the same name goes from 1 to >1 or # vice-versa. This generator makes sure both the bucketed and non-bucketed IDs # work so that there aren't transient failures when the configuration changes -master_only_exec('//generators/scheduler-bucketed-jobs.star') +branches.exec("//generators/scheduler-bucketed-jobs.star") + # 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 # no-op scheduler jobs are not supported by the lucicfg libraries, so this # generator adds in the necessary no-op jobs # The trybots should be update to not require no-op jobs to be triggered so that # the no-op jobs can be removed -exec('//generators/scheduler-noop-jobs.star') -exec('//generators/sort-consoles.star') +exec("//generators/scheduler-noop-jobs.star") +exec("//generators/sort-consoles.star") -exec('//validators/builders-in-consoles.star') +exec("//validators/builders-in-consoles.star") |