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 }