go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/buildbucket/proto/builder_common.proto (about) 1 // Copyright 2020 The Swarming Authors. All rights reserved. 2 // Use of this source code is governed by the Apache v2.0 license that can be 3 // found in the LICENSE file. 4 5 syntax = "proto3"; 6 7 package buildbucket.v2; 8 9 option go_package = "go.chromium.org/luci/buildbucket/proto;buildbucketpb"; 10 11 import "go.chromium.org/luci/buildbucket/proto/common.proto"; 12 import "go.chromium.org/luci/buildbucket/proto/field_option.proto"; 13 import "go.chromium.org/luci/buildbucket/proto/project_config.proto"; 14 15 // Identifies a builder. 16 // Canonical string representation: "{project}/{bucket}/{builder}". 17 message BuilderID { 18 // Project ID, e.g. "chromium". Unique within a LUCI deployment. 19 // Regex: ^[a-z0-9\-_]+$ 20 string project = 1 [ (buildbucket.v2.required_by_rpc) = "SetBuilderHealth" ]; 21 // Bucket name, e.g. "try". Unique within the project. 22 // Regex: ^[a-z0-9\-_.]{1,100}$ 23 // Together with project, defines an ACL. 24 string bucket = 2 [ (buildbucket.v2.required_by_rpc) = "SetBuilderHealth" ]; 25 // Builder name, e.g. "linux-rel". Unique within the bucket. 26 // Regex: ^[a-zA-Z0-9\-_.\(\) ]{1,128}$ 27 string builder = 3 [ (buildbucket.v2.required_by_rpc) = "SetBuilderHealth" ]; 28 } 29 30 message BuilderMetadata { 31 // Team that owns the builder 32 string owner = 1; 33 // Builders current health status 34 HealthStatus health = 2; 35 } 36 37 // A configured builder. 38 // 39 // It is called BuilderItem and not Builder because 40 // 1) Builder already exists 41 // 2) Name "Builder" is incompatible with proto->Java compiler. 42 message BuilderItem { 43 // Uniquely identifies the builder in a given Buildbucket instance. 44 BuilderID id = 1; 45 46 // User-supplied configuration after normalization. 47 // Does not refer to mixins and has defaults inlined. 48 BuilderConfig config = 2; 49 50 // Metadata surrounding the builder. 51 BuilderMetadata metadata = 3; 52 }