go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/internal/ingestion/control/proto/control.proto (about)

     1  // Copyright 2022 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package luci.analysis.internal.ingestion.control;
    18  
    19  import "google/protobuf/timestamp.proto";
    20  import "go.chromium.org/luci/analysis/proto/v1/sources.proto";
    21  import "go.chromium.org/luci/analysis/proto/v1/common.proto";
    22  import "go.chromium.org/luci/buildbucket/proto/common.proto";
    23  
    24  option go_package = "go.chromium.org/luci/analysis/internal/ingestion/control/proto;controlpb";
    25  
    26  // BuildResult represents the information about a buildbucket build
    27  // that should be passed to the result ingestion task.
    28  //
    29  // NextId: 15.
    30  message BuildResult {
    31    // Buildbucket build ID, unique per Buildbucket instance.
    32    int64 id = 1;
    33  
    34    // Buildbucket host, e.g. "cr-buildbucket.appspot.com".
    35    string host = 2;
    36  
    37    // The time the build was created.
    38    google.protobuf.Timestamp creation_time = 3;
    39  
    40    // The LUCI Project to which the build belongs.
    41    string project = 4;
    42  
    43    // The bucket the builder is a part of. E.g. "try".
    44    string bucket = 13;
    45  
    46    // The builder this build was a part of.
    47    string builder = 5;
    48  
    49    // The ending status of the build. E.g. Canceled, Success, Failure, Infra failure.
    50    luci.analysis.v1.BuildStatus status = 6;
    51  
    52    // The version of code (excluding any unsubmitted changelists) that was
    53    // tested by the build. This is the base commit ontop of which any
    54    // changelists are applied.
    55    buildbucket.v2.GitilesCommit commit = 8;
    56  
    57    // Whether this buildbucket build has a ResultDB invocation. If true,
    58    // the invocation is named "build-{id}".
    59    bool has_invocation = 9;
    60  
    61    // The ResultDB host which contains the ResultDB invocation of this
    62    // build. Only populated if has_invocation is set.
    63    string resultdb_host = 10;
    64  
    65    // Whether the ResultDB invocation of this buildbucket build is included
    66    // in the ResultDB invocation of the build ancestor (if any).
    67    // Only populated if has_invocation is set. If the build has no ancestor,
    68    // this is set to false.
    69    bool is_included_by_ancestor = 11;
    70  
    71    // The changelists that were tested by the build.
    72    repeated luci.analysis.v1.Changelist changelists = 12;
    73  
    74    // The gardener rotations corresponding to this build. This corresponds to
    75    // the "sheriff_rotations" field of the build input properties.
    76    repeated string gardener_rotations = 14;
    77  }
    78  
    79  // PresubmitResult represents the result from the presubmit pub/sub
    80  // that should be passed to the result ingestion task.
    81  message PresubmitResult {
    82    // The identity of the presubmit run. If the ingestion does not relate to test
    83    // results obtained in a presubmit run, this field should not be set.
    84    luci.analysis.v1.PresubmitRunId presubmit_run_id = 1;
    85  
    86    reserved 2;
    87  
    88    // The ending status of the presubmit run. E.g. Canceled, Success, Failure.
    89    luci.analysis.v1.PresubmitRunStatus status = 9;
    90  
    91    // The presubmit run mode.
    92    // E.g. FULL_RUN, DRY_RUN, QUICK_DRY_RUN.
    93    luci.analysis.v1.PresubmitRunMode mode = 8;
    94  
    95    // The owner of the presubmit run (if any).
    96    // This is the owner of the CL on which CQ+1/CQ+2 was clicked
    97    // (even in case of presubmit run with multiple CLs).
    98    // There is scope for this field to become an email address if privacy
    99    // approval is obtained, until then it is "automation" (for automation
   100    // service accounts) and "user" otherwise.
   101    string owner = 4;
   102  
   103    reserved 5, 6;
   104  
   105    // The time the presubmit was created.
   106    google.protobuf.Timestamp creation_time = 3;
   107  
   108    // Whether the build was critical to the completion of the presubmit run.
   109    // True if the failure of the build would cause the presubmit run to fail.
   110    bool critical = 7;
   111  }
   112  
   113  // InvocationResult represents the result from the invocation finalization
   114  // pub/sub that should be passed to the result ingestion task.
   115  message InvocationResult {
   116  }