| # Copyright 2025 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Definitions of TurboCI CI resources.""" |
| |
| load("//lib/build.star", "build") |
| load("//lib/infra.star", "infra") |
| |
| infra.cq_group( |
| name = "turboci-proto", |
| repo = "https://chromium.googlesource.com/infra/turboci/proto", |
| ) |
| build.presubmit( |
| name = "turboci-proto-presubmit", |
| cq_group = "turboci-proto", |
| os = "Ubuntu", |
| experiments = { |
| "luci.buildbucket.run_in_turboci": 100, |
| }, |
| ) |
| |
| luci.bucket( |
| name = "turboci", |
| bindings = [ |
| luci.binding( |
| roles = [ |
| "role/buildbucket.triggerer", |
| "role/scheduler.owner", |
| "role/turboci.externalCanceler", |
| ], |
| groups = [ |
| "mdb/chrome-troopers", |
| "mdb/turbo-ci-team", |
| ], |
| ), |
| ], |
| ) |
| |
| luci.builder( |
| name = "turbo-ci-hello", |
| bucket = "turboci", |
| dimensions = { |
| "os": "Linux", |
| "pool": "luci.flex.ci", |
| }, |
| service_account = infra.SERVICE_ACCOUNT_CI, |
| experiments = { |
| "luci.buildbucket.run_in_turboci": 100, |
| }, |
| executable = luci.recipe( |
| name = "placeholder", |
| cipd_package = "infra/recipe_bundles/chromium.googlesource.com/infra/luci/recipes-py", |
| ), |
| properties = { |
| "status": "SUCCESS", |
| "steps": [ |
| { |
| "name": "hello", |
| "fake_step": { |
| "duration_secs": 10, |
| }, |
| }, |
| ], |
| }, |
| execution_timeout = 5 * time.minute, |
| schedule = "with 30m interval", |
| notifies = [ |
| luci.notifier( |
| name = "turboci fail", |
| on_failure = True, |
| on_status_change = False, |
| notify_emails = [ |
| "vadimsh@google.com", |
| "iannucci@google.com", |
| ], |
| ), |
| ], |
| ) |