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  }