#!/usr/bin/env lucicfg # Copyright 2020 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # See https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/lucicfg/doc/README.md # for information on starlark/lucicfg load("@chromium-luci//branches.star", "branches") load("@chromium-luci//builders.star", "os") load("@chromium-luci//chromium_luci.star", "chromium_luci") load( "//lib/builder_exemptions.star", "exempted_from_contact_builders", "exempted_from_description_builders", ) load("//project.star", "settings") lucicfg.check_version( min = "1.44.1", message = "Update depot_tools", ) # Use LUCI Scheduler BBv2 names and add Scheduler realms configs. lucicfg.enable_experiment("crbug.com/1182002") # Tell lucicfg what files it is allowed to touch lucicfg.config( config_dir = "generated", tracked_files = [ "builders-dev/*/*/*", "builders-dev/*/*/*/*", "builders-dev/gn_args_locations.json", "luci/cr-buildbucket-dev.cfg", "luci/luci-analysis-dev.cfg", "luci/luci-bisection-dev.cfg", "luci/luci-logdog-dev.cfg", "luci/luci-milo-dev.cfg", "luci/luci-scheduler-dev.cfg", "luci/realms-dev.cfg", "luci/testhaus-staging.cfg", ], fail_on_warnings = True, ) # Just copy LUCI Analysis config to generated outputs. lucicfg.emit( dest = "luci/luci-analysis-dev.cfg", data = io.read_file("luci-analysis-dev.cfg"), ) # Just copy LUCI Bisection config to generated outputs. lucicfg.emit( dest = "luci/luci-bisection-dev.cfg", data = io.read_file("luci-bisection-dev.cfg"), ) # Just copy Testhaus config to generated outputs. lucicfg.emit( dest = "luci/testhaus-staging.cfg", data = io.read_file("testhaus-staging.cfg"), ) chromium_luci.configure_project( name = settings.project, is_main = settings.is_main, platforms = settings.platforms, ) chromium_luci.configure_per_builder_outputs( root_dir = "builders-dev", ) chromium_luci.configure_builders( os_dimension_overrides = { os.LINUX_DEFAULT: chromium_luci.os_dimension_overrides( default = os.LINUX_JAMMY, overrides = json.decode(io.read_file("//lib/linux-default.json")), ), os.MAC_DEFAULT: "Mac-26", os.MAC_BETA: "Mac-26", os.WINDOWS_DEFAULT: os.WINDOWS_10, }, exempted_from_description_builders = exempted_from_description_builders, ) chromium_luci.configure_builder_health_indicators( unhealthy_period_days = 7, pending_time_p50_min = 20, exempted_from_contact_builders = exempted_from_contact_builders, ) branches.exec("//dev/dev.star")