1*bb4ee6a4SAndroid Build Coastguard Worker#!/usr/bin/env lucicfg 2*bb4ee6a4SAndroid Build Coastguard Worker 3*bb4ee6a4SAndroid Build Coastguard Workerlucicfg.check_version("1.30.9", "Please update depot_tools") 4*bb4ee6a4SAndroid Build Coastguard Worker 5*bb4ee6a4SAndroid Build Coastguard Worker# Use LUCI Scheduler BBv2 names and add Scheduler realms configs. 6*bb4ee6a4SAndroid Build Coastguard Workerlucicfg.enable_experiment("crbug.com/1182002") 7*bb4ee6a4SAndroid Build Coastguard Worker 8*bb4ee6a4SAndroid Build Coastguard Workerlucicfg.config( 9*bb4ee6a4SAndroid Build Coastguard Worker config_dir = "generated", 10*bb4ee6a4SAndroid Build Coastguard Worker tracked_files = ["*.cfg"], 11*bb4ee6a4SAndroid Build Coastguard Worker fail_on_warnings = True, 12*bb4ee6a4SAndroid Build Coastguard Worker lint_checks = ["default", "-module-docstring"], 13*bb4ee6a4SAndroid Build Coastguard Worker) 14*bb4ee6a4SAndroid Build Coastguard Worker 15*bb4ee6a4SAndroid Build Coastguard Workerluci.project( 16*bb4ee6a4SAndroid Build Coastguard Worker name = "crosvm", 17*bb4ee6a4SAndroid Build Coastguard Worker buildbucket = "cr-buildbucket.appspot.com", 18*bb4ee6a4SAndroid Build Coastguard Worker logdog = "luci-logdog.appspot.com", 19*bb4ee6a4SAndroid Build Coastguard Worker milo = "luci-milo.appspot.com", 20*bb4ee6a4SAndroid Build Coastguard Worker notify = "luci-notify.appspot.com", 21*bb4ee6a4SAndroid Build Coastguard Worker scheduler = "luci-scheduler.appspot.com", 22*bb4ee6a4SAndroid Build Coastguard Worker swarming = "chromium-swarm.appspot.com", 23*bb4ee6a4SAndroid Build Coastguard Worker tricium = "tricium-prod.appspot.com", 24*bb4ee6a4SAndroid Build Coastguard Worker bindings = [ 25*bb4ee6a4SAndroid Build Coastguard Worker # Allow owners to submit any task in any pool. 26*bb4ee6a4SAndroid Build Coastguard Worker luci.binding( 27*bb4ee6a4SAndroid Build Coastguard Worker roles = [ 28*bb4ee6a4SAndroid Build Coastguard Worker "role/swarming.poolOwner", 29*bb4ee6a4SAndroid Build Coastguard Worker "role/swarming.poolUser", 30*bb4ee6a4SAndroid Build Coastguard Worker "role/swarming.taskTriggerer", 31*bb4ee6a4SAndroid Build Coastguard Worker "role/buildbucket.owner", 32*bb4ee6a4SAndroid Build Coastguard Worker ], 33*bb4ee6a4SAndroid Build Coastguard Worker groups = "mdb/crosvm-acl-luci-admin", 34*bb4ee6a4SAndroid Build Coastguard Worker ), 35*bb4ee6a4SAndroid Build Coastguard Worker 36*bb4ee6a4SAndroid Build Coastguard Worker # Allow any googler to see all bots and tasks there. 37*bb4ee6a4SAndroid Build Coastguard Worker luci.binding( 38*bb4ee6a4SAndroid Build Coastguard Worker roles = "role/swarming.poolViewer", 39*bb4ee6a4SAndroid Build Coastguard Worker groups = "googlers", 40*bb4ee6a4SAndroid Build Coastguard Worker ), 41*bb4ee6a4SAndroid Build Coastguard Worker 42*bb4ee6a4SAndroid Build Coastguard Worker # Allow any googler to read/validate/reimport the project configs. 43*bb4ee6a4SAndroid Build Coastguard Worker luci.binding( 44*bb4ee6a4SAndroid Build Coastguard Worker roles = "role/configs.developer", 45*bb4ee6a4SAndroid Build Coastguard Worker groups = "googlers", 46*bb4ee6a4SAndroid Build Coastguard Worker ), 47*bb4ee6a4SAndroid Build Coastguard Worker ], 48*bb4ee6a4SAndroid Build Coastguard Worker acls = [ 49*bb4ee6a4SAndroid Build Coastguard Worker # Publicly readable. 50*bb4ee6a4SAndroid Build Coastguard Worker acl.entry( 51*bb4ee6a4SAndroid Build Coastguard Worker roles = [ 52*bb4ee6a4SAndroid Build Coastguard Worker acl.BUILDBUCKET_READER, 53*bb4ee6a4SAndroid Build Coastguard Worker acl.LOGDOG_READER, 54*bb4ee6a4SAndroid Build Coastguard Worker acl.PROJECT_CONFIGS_READER, 55*bb4ee6a4SAndroid Build Coastguard Worker acl.SCHEDULER_READER, 56*bb4ee6a4SAndroid Build Coastguard Worker ], 57*bb4ee6a4SAndroid Build Coastguard Worker groups = "all", 58*bb4ee6a4SAndroid Build Coastguard Worker ), 59*bb4ee6a4SAndroid Build Coastguard Worker # Allow committers to use CQ and to force-trigger and stop CI builds. 60*bb4ee6a4SAndroid Build Coastguard Worker acl.entry( 61*bb4ee6a4SAndroid Build Coastguard Worker roles = [ 62*bb4ee6a4SAndroid Build Coastguard Worker acl.SCHEDULER_OWNER, 63*bb4ee6a4SAndroid Build Coastguard Worker acl.CQ_COMMITTER, 64*bb4ee6a4SAndroid Build Coastguard Worker ], 65*bb4ee6a4SAndroid Build Coastguard Worker groups = ["googlers", "project-crosvm-committers"], 66*bb4ee6a4SAndroid Build Coastguard Worker ), 67*bb4ee6a4SAndroid Build Coastguard Worker # Group with bots that have write access to the Logdog prefix. 68*bb4ee6a4SAndroid Build Coastguard Worker acl.entry( 69*bb4ee6a4SAndroid Build Coastguard Worker roles = acl.LOGDOG_WRITER, 70*bb4ee6a4SAndroid Build Coastguard Worker groups = "luci-logdog-chromium-writers", 71*bb4ee6a4SAndroid Build Coastguard Worker ), 72*bb4ee6a4SAndroid Build Coastguard Worker ], 73*bb4ee6a4SAndroid Build Coastguard Worker) 74*bb4ee6a4SAndroid Build Coastguard Worker 75*bb4ee6a4SAndroid Build Coastguard Worker# Per-service tweaks. 76*bb4ee6a4SAndroid Build Coastguard Workerluci.logdog(gs_bucket = "logdog-crosvm-archive") 77*bb4ee6a4SAndroid Build Coastguard Worker 78*bb4ee6a4SAndroid Build Coastguard Worker# Realms with ACLs for corresponding Swarming pools. 79*bb4ee6a4SAndroid Build Coastguard Workerluci.realm(name = "pools/ci") 80*bb4ee6a4SAndroid Build Coastguard Workerluci.realm(name = "pools/try") 81*bb4ee6a4SAndroid Build Coastguard Worker 82*bb4ee6a4SAndroid Build Coastguard Worker# Global recipe defaults 83*bb4ee6a4SAndroid Build Coastguard Workerluci.recipe.defaults.cipd_version.set("refs/heads/main") 84*bb4ee6a4SAndroid Build Coastguard Workerluci.recipe.defaults.cipd_package.set("infra/recipe_bundles/chromium.googlesource.com/crosvm/crosvm") 85*bb4ee6a4SAndroid Build Coastguard Worker 86*bb4ee6a4SAndroid Build Coastguard Worker# The try bucket will include builders which work on pre-commit or pre-review 87*bb4ee6a4SAndroid Build Coastguard Worker# code. 88*bb4ee6a4SAndroid Build Coastguard Workerluci.bucket(name = "try") 89*bb4ee6a4SAndroid Build Coastguard Worker 90*bb4ee6a4SAndroid Build Coastguard Worker# The ci bucket will include builders which work on post-commit code. 91*bb4ee6a4SAndroid Build Coastguard Workerluci.bucket( 92*bb4ee6a4SAndroid Build Coastguard Worker name = "ci", 93*bb4ee6a4SAndroid Build Coastguard Worker acls = [ 94*bb4ee6a4SAndroid Build Coastguard Worker acl.entry( 95*bb4ee6a4SAndroid Build Coastguard Worker roles = acl.BUILDBUCKET_TRIGGERER, 96*bb4ee6a4SAndroid Build Coastguard Worker groups = [ 97*bb4ee6a4SAndroid Build Coastguard Worker "mdb/crosvm-acl-luci-admin", 98*bb4ee6a4SAndroid Build Coastguard Worker ], 99*bb4ee6a4SAndroid Build Coastguard Worker ), 100*bb4ee6a4SAndroid Build Coastguard Worker ], 101*bb4ee6a4SAndroid Build Coastguard Worker) 102*bb4ee6a4SAndroid Build Coastguard Worker 103*bb4ee6a4SAndroid Build Coastguard Worker# The prod bucket will include builders which work on post-commit code and 104*bb4ee6a4SAndroid Build Coastguard Worker# generate executable artifacts used by other users or machines. 105*bb4ee6a4SAndroid Build Coastguard Workerluci.bucket(name = "prod") 106*bb4ee6a4SAndroid Build Coastguard Worker 107*bb4ee6a4SAndroid Build Coastguard Worker# This sets the default CIPD ref to use in builds to get the right version of 108*bb4ee6a4SAndroid Build Coastguard Worker# recipes for the build. 109*bb4ee6a4SAndroid Build Coastguard Worker# 110*bb4ee6a4SAndroid Build Coastguard Worker# The recipe bundler sets CIPD refs equal in name to the git refs that it 111*bb4ee6a4SAndroid Build Coastguard Worker# processed the recipe code from. 112*bb4ee6a4SAndroid Build Coastguard Worker# 113*bb4ee6a4SAndroid Build Coastguard Worker# Note: This will cause all recipe commits to automatically deploy as soon 114*bb4ee6a4SAndroid Build Coastguard Worker# as the recipe bundler compiles them from your refs/heads/main branch. 115*bb4ee6a4SAndroid Build Coastguard Workercipd_version = "refs/heads/main" 116*bb4ee6a4SAndroid Build Coastguard Worker 117*bb4ee6a4SAndroid Build Coastguard Worker# Configure Change Verifier to watch crosvm 118*bb4ee6a4SAndroid Build Coastguard Workerluci.cq( 119*bb4ee6a4SAndroid Build Coastguard Worker status_host = "chromium-cq-status.appspot.com", 120*bb4ee6a4SAndroid Build Coastguard Worker) 121*bb4ee6a4SAndroid Build Coastguard Workerluci.cq_group( 122*bb4ee6a4SAndroid Build Coastguard Worker name = "main", 123*bb4ee6a4SAndroid Build Coastguard Worker watch = cq.refset( 124*bb4ee6a4SAndroid Build Coastguard Worker repo = "https://chromium.googlesource.com/crosvm/crosvm", 125*bb4ee6a4SAndroid Build Coastguard Worker refs = ["refs/heads/.+"], # will watch all branches 126*bb4ee6a4SAndroid Build Coastguard Worker ), 127*bb4ee6a4SAndroid Build Coastguard Worker) 128*bb4ee6a4SAndroid Build Coastguard Worker 129*bb4ee6a4SAndroid Build Coastguard Worker# Console showing all postsubmit verify builders 130*bb4ee6a4SAndroid Build Coastguard Workerluci.console_view( 131*bb4ee6a4SAndroid Build Coastguard Worker name = "Postsubmit", 132*bb4ee6a4SAndroid Build Coastguard Worker repo = "https://chromium.googlesource.com/crosvm/crosvm", 133*bb4ee6a4SAndroid Build Coastguard Worker) 134*bb4ee6a4SAndroid Build Coastguard Worker 135*bb4ee6a4SAndroid Build Coastguard Worker# View showing all presubmit builders 136*bb4ee6a4SAndroid Build Coastguard Workerluci.list_view( 137*bb4ee6a4SAndroid Build Coastguard Worker name = "Presubmit", 138*bb4ee6a4SAndroid Build Coastguard Worker) 139*bb4ee6a4SAndroid Build Coastguard Worker 140*bb4ee6a4SAndroid Build Coastguard Worker# View showing all infra builders 141*bb4ee6a4SAndroid Build Coastguard Workerluci.list_view( 142*bb4ee6a4SAndroid Build Coastguard Worker name = "Infra", 143*bb4ee6a4SAndroid Build Coastguard Worker) 144*bb4ee6a4SAndroid Build Coastguard Worker 145*bb4ee6a4SAndroid Build Coastguard Worker# Allows builders to send email notifications on failures. 146*bb4ee6a4SAndroid Build Coastguard Workerluci.notifier( 147*bb4ee6a4SAndroid Build Coastguard Worker name = "postsubmit-failures", 148*bb4ee6a4SAndroid Build Coastguard Worker on_status_change = True, 149*bb4ee6a4SAndroid Build Coastguard Worker notify_emails = [ 150*bb4ee6a4SAndroid Build Coastguard Worker "[email protected]", 151*bb4ee6a4SAndroid Build Coastguard Worker "[email protected]", 152*bb4ee6a4SAndroid Build Coastguard Worker "[email protected]", 153*bb4ee6a4SAndroid Build Coastguard Worker ], 154*bb4ee6a4SAndroid Build Coastguard Worker) 155*bb4ee6a4SAndroid Build Coastguard Workerluci.notifier( 156*bb4ee6a4SAndroid Build Coastguard Worker name = "infra-failures", 157*bb4ee6a4SAndroid Build Coastguard Worker on_status_change = True, 158*bb4ee6a4SAndroid Build Coastguard Worker notify_emails = [ 159*bb4ee6a4SAndroid Build Coastguard Worker "[email protected]", 160*bb4ee6a4SAndroid Build Coastguard Worker "[email protected]", 161*bb4ee6a4SAndroid Build Coastguard Worker ], 162*bb4ee6a4SAndroid Build Coastguard Worker) 163*bb4ee6a4SAndroid Build Coastguard Worker 164*bb4ee6a4SAndroid Build Coastguard Workerdef verify_builder( 165*bb4ee6a4SAndroid Build Coastguard Worker name, 166*bb4ee6a4SAndroid Build Coastguard Worker dimensions, 167*bb4ee6a4SAndroid Build Coastguard Worker presubmit = True, 168*bb4ee6a4SAndroid Build Coastguard Worker postsubmit = True, 169*bb4ee6a4SAndroid Build Coastguard Worker properties = dict(), 170*bb4ee6a4SAndroid Build Coastguard Worker presubmit_properties = dict(), 171*bb4ee6a4SAndroid Build Coastguard Worker postsubmit_properties = dict(), 172*bb4ee6a4SAndroid Build Coastguard Worker category = "generic", 173*bb4ee6a4SAndroid Build Coastguard Worker **args): 174*bb4ee6a4SAndroid Build Coastguard Worker """Creates both a CI and try builder with the same properties. 175*bb4ee6a4SAndroid Build Coastguard Worker 176*bb4ee6a4SAndroid Build Coastguard Worker The CI builder is attached to the gitlies poller and console view, and the try builder 177*bb4ee6a4SAndroid Build Coastguard Worker is added to the change verifier. 178*bb4ee6a4SAndroid Build Coastguard Worker 179*bb4ee6a4SAndroid Build Coastguard Worker Args: 180*bb4ee6a4SAndroid Build Coastguard Worker name: Name of the builder 181*bb4ee6a4SAndroid Build Coastguard Worker dimensions: Passed to luci.builder 182*bb4ee6a4SAndroid Build Coastguard Worker presubmit: Create a presubmit builder (defaults to True) 183*bb4ee6a4SAndroid Build Coastguard Worker postsubmit: Create a postsubmit builder (defaults to True) 184*bb4ee6a4SAndroid Build Coastguard Worker category: Category of this builder in the concole view 185*bb4ee6a4SAndroid Build Coastguard Worker properties: Builder properties for both presubmit and postsubmit 186*bb4ee6a4SAndroid Build Coastguard Worker presubmit_properties: Builder properties for only presubmit 187*bb4ee6a4SAndroid Build Coastguard Worker postsubmit_properties: Builder properties for only postsubmit 188*bb4ee6a4SAndroid Build Coastguard Worker **args: Passed to luci.builder 189*bb4ee6a4SAndroid Build Coastguard Worker """ 190*bb4ee6a4SAndroid Build Coastguard Worker 191*bb4ee6a4SAndroid Build Coastguard Worker # CI builder 192*bb4ee6a4SAndroid Build Coastguard Worker if postsubmit: 193*bb4ee6a4SAndroid Build Coastguard Worker props = dict(**properties) 194*bb4ee6a4SAndroid Build Coastguard Worker props.update(postsubmit_properties) 195*bb4ee6a4SAndroid Build Coastguard Worker luci.builder( 196*bb4ee6a4SAndroid Build Coastguard Worker name = name, 197*bb4ee6a4SAndroid Build Coastguard Worker bucket = "ci", 198*bb4ee6a4SAndroid Build Coastguard Worker service_account = "[email protected]", 199*bb4ee6a4SAndroid Build Coastguard Worker dimensions = dict(pool = "luci.crosvm.ci", **dimensions), 200*bb4ee6a4SAndroid Build Coastguard Worker notifies = ["postsubmit-failures"], 201*bb4ee6a4SAndroid Build Coastguard Worker properties = props, 202*bb4ee6a4SAndroid Build Coastguard Worker **args 203*bb4ee6a4SAndroid Build Coastguard Worker ) 204*bb4ee6a4SAndroid Build Coastguard Worker luci.gitiles_poller( 205*bb4ee6a4SAndroid Build Coastguard Worker name = "main source", 206*bb4ee6a4SAndroid Build Coastguard Worker bucket = "ci", 207*bb4ee6a4SAndroid Build Coastguard Worker repo = "https://chromium.googlesource.com/crosvm/crosvm", 208*bb4ee6a4SAndroid Build Coastguard Worker triggers = ["ci/%s" % name], 209*bb4ee6a4SAndroid Build Coastguard Worker ) 210*bb4ee6a4SAndroid Build Coastguard Worker luci.console_view_entry( 211*bb4ee6a4SAndroid Build Coastguard Worker console_view = "Postsubmit", 212*bb4ee6a4SAndroid Build Coastguard Worker builder = "ci/%s" % name, 213*bb4ee6a4SAndroid Build Coastguard Worker category = category, 214*bb4ee6a4SAndroid Build Coastguard Worker ) 215*bb4ee6a4SAndroid Build Coastguard Worker 216*bb4ee6a4SAndroid Build Coastguard Worker # Try builder 217*bb4ee6a4SAndroid Build Coastguard Worker if presubmit: 218*bb4ee6a4SAndroid Build Coastguard Worker props = dict(**properties) 219*bb4ee6a4SAndroid Build Coastguard Worker props.update(presubmit_properties) 220*bb4ee6a4SAndroid Build Coastguard Worker luci.builder( 221*bb4ee6a4SAndroid Build Coastguard Worker name = name, 222*bb4ee6a4SAndroid Build Coastguard Worker bucket = "try", 223*bb4ee6a4SAndroid Build Coastguard Worker service_account = "[email protected]", 224*bb4ee6a4SAndroid Build Coastguard Worker dimensions = dict(pool = "luci.crosvm.try", **dimensions), 225*bb4ee6a4SAndroid Build Coastguard Worker properties = props, 226*bb4ee6a4SAndroid Build Coastguard Worker **args 227*bb4ee6a4SAndroid Build Coastguard Worker ) 228*bb4ee6a4SAndroid Build Coastguard Worker luci.list_view_entry( 229*bb4ee6a4SAndroid Build Coastguard Worker list_view = "Presubmit", 230*bb4ee6a4SAndroid Build Coastguard Worker builder = "try/%s" % name, 231*bb4ee6a4SAndroid Build Coastguard Worker ) 232*bb4ee6a4SAndroid Build Coastguard Worker 233*bb4ee6a4SAndroid Build Coastguard Worker # Attach try builder to Change Verifier 234*bb4ee6a4SAndroid Build Coastguard Worker luci.cq_tryjob_verifier( 235*bb4ee6a4SAndroid Build Coastguard Worker builder = "try/%s" % name, 236*bb4ee6a4SAndroid Build Coastguard Worker cq_group = "main", 237*bb4ee6a4SAndroid Build Coastguard Worker ) 238*bb4ee6a4SAndroid Build Coastguard Worker 239*bb4ee6a4SAndroid Build Coastguard Workerdef verify_linux_builder(arch, **kwargs): 240*bb4ee6a4SAndroid Build Coastguard Worker """Creates a verify builder that builds crosvm on linux 241*bb4ee6a4SAndroid Build Coastguard Worker 242*bb4ee6a4SAndroid Build Coastguard Worker Args: 243*bb4ee6a4SAndroid Build Coastguard Worker arch: Architecture to build and test 244*bb4ee6a4SAndroid Build Coastguard Worker **kwargs: Passed to verify_builder 245*bb4ee6a4SAndroid Build Coastguard Worker """ 246*bb4ee6a4SAndroid Build Coastguard Worker name = "linux_%s" % arch 247*bb4ee6a4SAndroid Build Coastguard Worker verify_builder( 248*bb4ee6a4SAndroid Build Coastguard Worker name = name, 249*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 250*bb4ee6a4SAndroid Build Coastguard Worker "os": "Ubuntu", 251*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 252*bb4ee6a4SAndroid Build Coastguard Worker }, 253*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 254*bb4ee6a4SAndroid Build Coastguard Worker name = "build_linux", 255*bb4ee6a4SAndroid Build Coastguard Worker ), 256*bb4ee6a4SAndroid Build Coastguard Worker properties = { 257*bb4ee6a4SAndroid Build Coastguard Worker "test_arch": arch, 258*bb4ee6a4SAndroid Build Coastguard Worker }, 259*bb4ee6a4SAndroid Build Coastguard Worker postsubmit_properties = { 260*bb4ee6a4SAndroid Build Coastguard Worker "profile": "postsubmit", 261*bb4ee6a4SAndroid Build Coastguard Worker }, 262*bb4ee6a4SAndroid Build Coastguard Worker presubmit_properties = { 263*bb4ee6a4SAndroid Build Coastguard Worker "profile": "presubmit", 264*bb4ee6a4SAndroid Build Coastguard Worker }, 265*bb4ee6a4SAndroid Build Coastguard Worker caches = [ 266*bb4ee6a4SAndroid Build Coastguard Worker swarming.cache("builder", name = "linux_builder_cache"), 267*bb4ee6a4SAndroid Build Coastguard Worker ], 268*bb4ee6a4SAndroid Build Coastguard Worker category = "linux", 269*bb4ee6a4SAndroid Build Coastguard Worker **kwargs 270*bb4ee6a4SAndroid Build Coastguard Worker ) 271*bb4ee6a4SAndroid Build Coastguard Worker 272*bb4ee6a4SAndroid Build Coastguard Workerdef infra_builder(name, postsubmit, **args): 273*bb4ee6a4SAndroid Build Coastguard Worker """Creates a ci job to run infra recipes that are not involved in verifying changes. 274*bb4ee6a4SAndroid Build Coastguard Worker 275*bb4ee6a4SAndroid Build Coastguard Worker The builders are added to a separate infra dashboard. 276*bb4ee6a4SAndroid Build Coastguard Worker 277*bb4ee6a4SAndroid Build Coastguard Worker Args: 278*bb4ee6a4SAndroid Build Coastguard Worker name: Name of the builder 279*bb4ee6a4SAndroid Build Coastguard Worker postsubmit: True if the builder should run after each submitted commit. 280*bb4ee6a4SAndroid Build Coastguard Worker **args: Passed to luci.builder 281*bb4ee6a4SAndroid Build Coastguard Worker """ 282*bb4ee6a4SAndroid Build Coastguard Worker luci.builder( 283*bb4ee6a4SAndroid Build Coastguard Worker name = name, 284*bb4ee6a4SAndroid Build Coastguard Worker bucket = "ci", 285*bb4ee6a4SAndroid Build Coastguard Worker service_account = "[email protected]", 286*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 287*bb4ee6a4SAndroid Build Coastguard Worker "pool": "luci.crosvm.ci", 288*bb4ee6a4SAndroid Build Coastguard Worker "os": "Ubuntu", 289*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 290*bb4ee6a4SAndroid Build Coastguard Worker }, 291*bb4ee6a4SAndroid Build Coastguard Worker notifies = ["infra-failures"], 292*bb4ee6a4SAndroid Build Coastguard Worker **args 293*bb4ee6a4SAndroid Build Coastguard Worker ) 294*bb4ee6a4SAndroid Build Coastguard Worker if postsubmit: 295*bb4ee6a4SAndroid Build Coastguard Worker luci.gitiles_poller( 296*bb4ee6a4SAndroid Build Coastguard Worker name = "main source", 297*bb4ee6a4SAndroid Build Coastguard Worker bucket = "ci", 298*bb4ee6a4SAndroid Build Coastguard Worker repo = "https://chromium.googlesource.com/crosvm/crosvm", 299*bb4ee6a4SAndroid Build Coastguard Worker triggers = ["ci/%s" % name], 300*bb4ee6a4SAndroid Build Coastguard Worker ) 301*bb4ee6a4SAndroid Build Coastguard Worker luci.list_view_entry( 302*bb4ee6a4SAndroid Build Coastguard Worker list_view = "Infra", 303*bb4ee6a4SAndroid Build Coastguard Worker builder = "ci/%s" % name, 304*bb4ee6a4SAndroid Build Coastguard Worker ) 305*bb4ee6a4SAndroid Build Coastguard Worker 306*bb4ee6a4SAndroid Build Coastguard Workerverify_linux_builder("x86_64") 307*bb4ee6a4SAndroid Build Coastguard Workerverify_linux_builder("aarch64") 308*bb4ee6a4SAndroid Build Coastguard Workerverify_linux_builder("armhf") 309*bb4ee6a4SAndroid Build Coastguard Workerverify_linux_builder("mingw64") 310*bb4ee6a4SAndroid Build Coastguard Worker 311*bb4ee6a4SAndroid Build Coastguard Worker# Disabled due to b/304875018 312*bb4ee6a4SAndroid Build Coastguard Worker# verify_linux_builder("riscv64") 313*bb4ee6a4SAndroid Build Coastguard Worker 314*bb4ee6a4SAndroid Build Coastguard Workerverify_builder( 315*bb4ee6a4SAndroid Build Coastguard Worker name = "chromeos_hatch", 316*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 317*bb4ee6a4SAndroid Build Coastguard Worker "os": "Ubuntu", 318*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 319*bb4ee6a4SAndroid Build Coastguard Worker }, 320*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 321*bb4ee6a4SAndroid Build Coastguard Worker name = "build_chromeos_hatch", 322*bb4ee6a4SAndroid Build Coastguard Worker ), 323*bb4ee6a4SAndroid Build Coastguard Worker category = "linux", 324*bb4ee6a4SAndroid Build Coastguard Worker presubmit = False, 325*bb4ee6a4SAndroid Build Coastguard Worker) 326*bb4ee6a4SAndroid Build Coastguard Worker 327*bb4ee6a4SAndroid Build Coastguard Workerverify_builder( 328*bb4ee6a4SAndroid Build Coastguard Worker name = "windows", 329*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 330*bb4ee6a4SAndroid Build Coastguard Worker "os": "Windows", 331*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 332*bb4ee6a4SAndroid Build Coastguard Worker }, 333*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 334*bb4ee6a4SAndroid Build Coastguard Worker name = "build_windows", 335*bb4ee6a4SAndroid Build Coastguard Worker ), 336*bb4ee6a4SAndroid Build Coastguard Worker category = "windows", 337*bb4ee6a4SAndroid Build Coastguard Worker) 338*bb4ee6a4SAndroid Build Coastguard Worker 339*bb4ee6a4SAndroid Build Coastguard Workerverify_builder( 340*bb4ee6a4SAndroid Build Coastguard Worker name = "health_check", 341*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 342*bb4ee6a4SAndroid Build Coastguard Worker "os": "Ubuntu", 343*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 344*bb4ee6a4SAndroid Build Coastguard Worker }, 345*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 346*bb4ee6a4SAndroid Build Coastguard Worker name = "presubmit", 347*bb4ee6a4SAndroid Build Coastguard Worker ), 348*bb4ee6a4SAndroid Build Coastguard Worker properties = { 349*bb4ee6a4SAndroid Build Coastguard Worker "group_name": "health_checks", 350*bb4ee6a4SAndroid Build Coastguard Worker }, 351*bb4ee6a4SAndroid Build Coastguard Worker caches = [ 352*bb4ee6a4SAndroid Build Coastguard Worker swarming.cache("builder", name = "linux_builder_cache"), 353*bb4ee6a4SAndroid Build Coastguard Worker ], 354*bb4ee6a4SAndroid Build Coastguard Worker category = "linux", 355*bb4ee6a4SAndroid Build Coastguard Worker) 356*bb4ee6a4SAndroid Build Coastguard Worker 357*bb4ee6a4SAndroid Build Coastguard Workerverify_builder( 358*bb4ee6a4SAndroid Build Coastguard Worker name = "android-aarch64", 359*bb4ee6a4SAndroid Build Coastguard Worker dimensions = { 360*bb4ee6a4SAndroid Build Coastguard Worker "os": "Ubuntu", 361*bb4ee6a4SAndroid Build Coastguard Worker "cpu": "x86-64", 362*bb4ee6a4SAndroid Build Coastguard Worker }, 363*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 364*bb4ee6a4SAndroid Build Coastguard Worker name = "presubmit", 365*bb4ee6a4SAndroid Build Coastguard Worker ), 366*bb4ee6a4SAndroid Build Coastguard Worker properties = { 367*bb4ee6a4SAndroid Build Coastguard Worker "group_name": "android-aarch64", 368*bb4ee6a4SAndroid Build Coastguard Worker }, 369*bb4ee6a4SAndroid Build Coastguard Worker caches = [ 370*bb4ee6a4SAndroid Build Coastguard Worker swarming.cache("builder", name = "linux_builder_cache"), 371*bb4ee6a4SAndroid Build Coastguard Worker ], 372*bb4ee6a4SAndroid Build Coastguard Worker category = "android", 373*bb4ee6a4SAndroid Build Coastguard Worker # TODO(b/349907813): Enable in presubmit once stabilized 374*bb4ee6a4SAndroid Build Coastguard Worker presubmit = False, 375*bb4ee6a4SAndroid Build Coastguard Worker) 376*bb4ee6a4SAndroid Build Coastguard Worker 377*bb4ee6a4SAndroid Build Coastguard Workerinfra_builder( 378*bb4ee6a4SAndroid Build Coastguard Worker name = "push_to_github", 379*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 380*bb4ee6a4SAndroid Build Coastguard Worker name = "push_to_github", 381*bb4ee6a4SAndroid Build Coastguard Worker ), 382*bb4ee6a4SAndroid Build Coastguard Worker postsubmit = True, 383*bb4ee6a4SAndroid Build Coastguard Worker) 384*bb4ee6a4SAndroid Build Coastguard Worker 385*bb4ee6a4SAndroid Build Coastguard Workerinfra_builder( 386*bb4ee6a4SAndroid Build Coastguard Worker name = "build_docs", 387*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 388*bb4ee6a4SAndroid Build Coastguard Worker name = "build_docs", 389*bb4ee6a4SAndroid Build Coastguard Worker ), 390*bb4ee6a4SAndroid Build Coastguard Worker postsubmit = True, 391*bb4ee6a4SAndroid Build Coastguard Worker) 392*bb4ee6a4SAndroid Build Coastguard Worker 393*bb4ee6a4SAndroid Build Coastguard Workerinfra_builder( 394*bb4ee6a4SAndroid Build Coastguard Worker name = "update_chromeos_merges", 395*bb4ee6a4SAndroid Build Coastguard Worker executable = luci.recipe( 396*bb4ee6a4SAndroid Build Coastguard Worker name = "update_chromeos_merges", 397*bb4ee6a4SAndroid Build Coastguard Worker ), 398*bb4ee6a4SAndroid Build Coastguard Worker schedule = "0,30 * * * *", # Run every 30 minutes 399*bb4ee6a4SAndroid Build Coastguard Worker postsubmit = False, 400*bb4ee6a4SAndroid Build Coastguard Worker) 401