diff options
Diffstat (limited to 'files/infra/config/main.star')
-rwxr-xr-x | files/infra/config/main.star | 377 |
1 files changed, 0 insertions, 377 deletions
diff --git a/files/infra/config/main.star b/files/infra/config/main.star deleted file mode 100755 index 7490a599..00000000 --- a/files/infra/config/main.star +++ /dev/null @@ -1,377 +0,0 @@ -#!/usr/bin/env lucicfg -# https://chromium.googlesource.com/infra/luci/luci-go/+/master/lucicfg/doc/ - -"""LUCI project configuration for libyuv CQ and CI.""" - -lucicfg.check_version("1.30.9") - -LIBYUV_GIT = "https://chromium.googlesource.com/libyuv/libyuv" -LIBYUV_GERRIT = "https://chromium-review.googlesource.com/libyuv/libyuv" - -GOMA_BACKEND_RBE_PROD = { - "server_host": "goma.chromium.org", - "use_luci_auth": True, -} - -GOMA_BACKEND_RBE_ATS_PROD = { - "server_host": "goma.chromium.org", - "use_luci_auth": True, - "enable_ats": True, -} - -# Disable ATS on Windows CQ/try. -GOMA_BACKEND_RBE_NO_ATS_PROD = { - "server_host": "goma.chromium.org", - "use_luci_auth": True, - "enable_ats": False, -} - -RECLIENT_CI = { - "instance": "rbe-webrtc-trusted", - "metrics_project": "chromium-reclient-metrics", -} - -RECLIENT_CQ = { - "instance": "rbe-webrtc-untrusted", - "metrics_project": "chromium-reclient-metrics", -} - -# Use LUCI Scheduler BBv2 names and add Scheduler realms configs. -lucicfg.enable_experiment("crbug.com/1182002") - -luci.builder.defaults.experiments.set( - { - "luci.recipes.use_python3": 100, - }, -) - -lucicfg.config( - lint_checks = ["default"], - config_dir = ".", - tracked_files = [ - "commit-queue.cfg", - "cr-buildbucket.cfg", - "luci-logdog.cfg", - "luci-milo.cfg", - "luci-scheduler.cfg", - "project.cfg", - "realms.cfg", - ], -) - -# Generates project.cfg - -luci.project( - name = "libyuv", - 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(acl.PROJECT_CONFIGS_READER, groups = ["all"]), - acl.entry(acl.LOGDOG_READER, groups = ["all"]), - acl.entry(acl.LOGDOG_WRITER, groups = ["luci-logdog-chromium-writers"]), - acl.entry(acl.SCHEDULER_READER, groups = ["all"]), - acl.entry(acl.SCHEDULER_OWNER, groups = ["project-libyuv-admins"]), - acl.entry(acl.BUILDBUCKET_READER, groups = ["all"]), - acl.entry(acl.BUILDBUCKET_OWNER, groups = ["project-libyuv-admins"]), - ], - bindings = [ - luci.binding( - roles = "role/swarming.taskTriggerer", # for LED tasks. - groups = "project-libyuv-admins", - ), - luci.binding( - roles = "role/configs.validator", - users = "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com", - ), - ], -) - -# Generates luci-logdog.cfg - -luci.logdog( - gs_bucket = "chromium-luci-logdog", -) - -# Generates luci-scheduler.cfg - -luci.gitiles_poller( - name = "master-gitiles-trigger", - bucket = "ci", - repo = LIBYUV_GIT, -) - -# Generates luci-milo.cfg - -luci.milo( - logo = "https://storage.googleapis.com/chrome-infra-public/logo/libyuv-logo.png", -) - -def libyuv_ci_view(name, category, short_name): - return luci.console_view_entry( - console_view = "main", - builder = name, - category = category, - short_name = short_name, - ) - -def libyuv_try_view(name): - return luci.list_view_entry( - list_view = "try", - builder = name, - ) - -luci.console_view( - name = "main", - title = "libyuv Main Console", - include_experimental_builds = True, - repo = LIBYUV_GIT, -) - -luci.list_view( - name = "cron", - title = "Cron", - entries = ["DEPS Autoroller"], -) - -luci.list_view( - name = "try", - title = "libyuv Try Builders", -) - -# Generates commit-queue.cfg - -def libyuv_try_job_verifier(name, cq_group, experiment_percentage): - return luci.cq_tryjob_verifier( - builder = name, - cq_group = cq_group, - experiment_percentage = experiment_percentage, - ) - -luci.cq( - status_host = "chromium-cq-status.appspot.com", - submit_max_burst = 4, - submit_burst_delay = 8 * time.minute, -) - -luci.cq_group( - name = "master", - watch = [ - cq.refset( - repo = LIBYUV_GERRIT, - refs = ["refs/heads/main", "refs/heads/master"], - ), - ], - acls = [ - acl.entry(acl.CQ_COMMITTER, groups = ["project-libyuv-committers"]), - acl.entry(acl.CQ_DRY_RUNNER, groups = ["project-libyuv-tryjob-access"]), - ], - retry_config = cq.RETRY_ALL_FAILURES, - cancel_stale_tryjobs = True, -) - -luci.cq_group( - name = "config", - watch = [ - cq.refset( - repo = LIBYUV_GERRIT, - refs = ["refs/heads/infra/config"], - ), - ], - acls = [ - acl.entry(acl.CQ_COMMITTER, groups = ["project-libyuv-committers"]), - acl.entry(acl.CQ_DRY_RUNNER, groups = ["project-libyuv-tryjob-access"]), - ], - retry_config = cq.RETRY_ALL_FAILURES, - cancel_stale_tryjobs = True, -) - -# Generates cr-buildbucket.cfg - -luci.bucket( - name = "ci", -) -luci.bucket( - name = "try", - acls = [ - acl.entry(acl.BUILDBUCKET_TRIGGERER, groups = [ - "project-libyuv-tryjob-access", - "service-account-cq", - ]), - ], -) -luci.bucket( - name = "cron", -) - -def get_os_dimensions(os): - if os == "android": - return {"device_type": "walleye"} - if os == "ios" or os == "mac": - return {"os": "Mac-12", "cpu": "x86-64"} - elif os == "win": - return {"os": "Windows-10", "cores": "8", "cpu": "x86-64"} - elif os == "linux": - return {"os": "Ubuntu-18.04", "cores": "8", "cpu": "x86-64"} - return {} - -def get_os_properties(os, try_builder = False): - if os == "android": - return {"$build/goma": GOMA_BACKEND_RBE_PROD} - elif os in ("ios", "mac"): - return {"$build/goma": GOMA_BACKEND_RBE_PROD} - elif os == "win" and try_builder: - return {"$build/goma": GOMA_BACKEND_RBE_NO_ATS_PROD} - elif os == "win": - return {"$build/goma": GOMA_BACKEND_RBE_ATS_PROD} - elif os == "linux": - return {"$build/goma": GOMA_BACKEND_RBE_ATS_PROD} - return {} - -def libyuv_ci_builder(name, dimensions, properties, triggered_by): - return luci.builder( - name = name, - dimensions = dimensions, - properties = properties, - bucket = "ci", - service_account = "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com", - triggered_by = triggered_by, - swarming_tags = ["vpython:native-python-wrapper"], - execution_timeout = 180 * time.minute, - build_numbers = True, - executable = luci.recipe( - name = "libyuv/libyuv", - cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", - use_python3 = True, - ), - ) - -def libyuv_try_builder(name, dimensions, properties, recipe_name = "libyuv/libyuv"): - return luci.builder( - name = name, - dimensions = dimensions, - properties = properties, - bucket = "try", - service_account = "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com", - swarming_tags = ["vpython:native-python-wrapper"], - execution_timeout = 180 * time.minute, - build_numbers = True, - executable = luci.recipe( - name = recipe_name, - cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", - use_python3 = True, - ), - ) - -def ci_builder(name, os, category, short_name = None): - dimensions = get_os_dimensions(os) - properties = get_os_properties(os) - properties["$build/reclient"] = RECLIENT_CI - - dimensions["pool"] = "luci.flex.ci" - properties["builder_group"] = "client.libyuv" - - triggered_by = ["master-gitiles-trigger" if os != "android" else "Android Debug"] - libyuv_ci_view(name, category, short_name) - return libyuv_ci_builder(name, dimensions, properties, triggered_by) - -def try_builder(name, os, experiment_percentage = None): - dimensions = get_os_dimensions(os) - properties = get_os_properties(os, try_builder = True) - properties["$build/reclient"] = RECLIENT_CQ - - dimensions["pool"] = "luci.flex.try" - properties["builder_group"] = "tryserver.libyuv" - - if name == "presubmit": - recipe_name = "run_presubmit" - properties["repo_name"] = "libyuv" - properties["runhooks"] = True - libyuv_try_job_verifier(name, "config", experiment_percentage) - return libyuv_try_builder(name, dimensions, properties, recipe_name) - - libyuv_try_job_verifier(name, "master", experiment_percentage) - libyuv_try_view(name) - return libyuv_try_builder(name, dimensions, properties) - -luci.builder( - name = "DEPS Autoroller", - bucket = "cron", - service_account = "libyuv-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com", - dimensions = { - "pool": "luci.webrtc.cron", - "os": "Linux", - "cpu": "x86-64", - }, - swarming_tags = ["vpython:native-python-wrapper"], - execution_timeout = 120 * time.minute, - build_numbers = True, - schedule = "0 14 * * *", # Every 2 hours. - executable = luci.recipe( - name = "libyuv/roll_deps", - cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", - use_python3 = True, - ), -) - -ci_builder("Android ARM64 Debug", "linux", "Android|Builder", "dbg") -ci_builder("Android Debug", "linux", "Android|Builder", "dbg") -ci_builder("Android Release", "linux", "Android|Builder", "rel") -ci_builder("Android32 x86 Debug", "linux", "Android|Builder|x86", "dbg") -ci_builder("Android64 x64 Debug", "linux", "Android|Builder|x64", "dbg") -ci_builder("Android Tester ARM32 Debug (Nexus 5X)", "android", "Android|Tester|ARM 32", "dbg") -ci_builder("Android Tester ARM32 Release (Nexus 5X)", "android", "Android|Tester|ARM 32", "rel") -ci_builder("Android Tester ARM64 Debug (Nexus 5X)", "android", "Android|Tester|ARM 64", "dbg") -ci_builder("Linux Asan", "linux", "Linux", "asan") -ci_builder("Linux MSan", "linux", "Linux", "msan") -ci_builder("Linux Tsan v2", "linux", "Linux", "tsan") -ci_builder("Linux UBSan", "linux", "Linux|UBSan") -ci_builder("Linux UBSan vptr", "linux", "Linux|UBSan", "vptr") -ci_builder("Linux32 Debug", "linux", "Linux|32", "dbg") -ci_builder("Linux32 Release", "linux", "Linux|32", "rel") -ci_builder("Linux64 Debug", "linux", "Linux|64", "dbg") -ci_builder("Linux64 Release", "linux", "Linux|64", "rel") -ci_builder("Mac Asan", "mac", "Mac", "asan") -ci_builder("Mac64 Debug", "mac", "Mac", "dbg") -ci_builder("Mac64 Release", "mac", "Mac", "rel") -ci_builder("Win32 Debug", "win", "Win|32|Debug") -ci_builder("Win32 Debug (Clang)", "win", "Win|32|Debug", "clg") -ci_builder("Win32 Release", "win", "Win|32|Release") -ci_builder("Win32 Release (Clang)", "win", "Win|32|Release", "clg") -ci_builder("Win64 Debug", "win", "Win|64|Debug", "clg") -ci_builder("Win64 Debug (Clang)", "win", "Win|64|Debug", "clg") -ci_builder("Win64 Release", "win", "Win|64|Release") -ci_builder("Win64 Release (Clang)", "win", "Win|64|Release", "clg") -ci_builder("iOS ARM64 Debug", "ios", "iOS|ARM64", "dbg") -ci_builder("iOS ARM64 Release", "ios", "iOS|ARM64", "rel") - -# TODO(crbug.com/1242847): make this not experimental. -try_builder("android", "android", experiment_percentage = 100) -try_builder("android_arm64", "android", experiment_percentage = 100) -try_builder("android_rel", "android", experiment_percentage = 100) - -try_builder("android_x64", "linux") -try_builder("android_x86", "linux") -try_builder("ios_arm64", "ios") -try_builder("ios_arm64_rel", "ios") -try_builder("linux", "linux") -try_builder("linux_asan", "linux") -try_builder("linux_gcc", "linux", experiment_percentage = 100) -try_builder("linux_msan", "linux") -try_builder("linux_rel", "linux") -try_builder("linux_tsan2", "linux") -try_builder("linux_ubsan", "linux") -try_builder("linux_ubsan_vptr", "linux") -try_builder("mac", "mac") -try_builder("mac_asan", "mac") -try_builder("mac_rel", "mac") -try_builder("win", "win") -try_builder("win_clang", "win") -try_builder("win_clang_rel", "win") -try_builder("win_rel", "win") -try_builder("win_x64_clang_rel", "win") -try_builder("win_x64_rel", "win") -try_builder("presubmit", "linux") |