blob: 5da82863ff7b2cc5456e2f3ec5792e20281f7221 [file] [edit]
# 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",
],
),
],
)