go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/cv/api/recipe/v1/cq.pb.go (about) 1 // Copyright 2019 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 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.31.0 18 // protoc v3.21.7 19 // source: go.chromium.org/luci/cv/api/recipe/v1/cq.proto 20 21 package recipe 22 23 import ( 24 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 25 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 26 reflect "reflect" 27 sync "sync" 28 ) 29 30 const ( 31 // Verify that this generated code is sufficiently up-to-date. 32 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 33 // Verify that runtime/protoimpl is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 35 ) 36 37 type Output_Retry int32 38 39 const ( 40 Output_OUTPUT_RETRY_UNSPECIFIED Output_Retry = 0 41 // Default. Allow CQ to retry the build. 42 // 43 // Does NOT force CQ to retry this build, since it depends on other factors, 44 // such as the applicable project's CQ config. 45 Output_OUTPUT_RETRY_ALLOWED Output_Retry = 1 46 // Denies retries regardless of other factors. 47 // 48 // This is equivalent to setting legacy top-level `"do_not_retry": true` 49 // output property. 50 // TODO(tandrii): deprecate and remove the legacy property. 51 Output_OUTPUT_RETRY_DENIED Output_Retry = 2 52 ) 53 54 // Enum value maps for Output_Retry. 55 var ( 56 Output_Retry_name = map[int32]string{ 57 0: "OUTPUT_RETRY_UNSPECIFIED", 58 1: "OUTPUT_RETRY_ALLOWED", 59 2: "OUTPUT_RETRY_DENIED", 60 } 61 Output_Retry_value = map[string]int32{ 62 "OUTPUT_RETRY_UNSPECIFIED": 0, 63 "OUTPUT_RETRY_ALLOWED": 1, 64 "OUTPUT_RETRY_DENIED": 2, 65 } 66 ) 67 68 func (x Output_Retry) Enum() *Output_Retry { 69 p := new(Output_Retry) 70 *p = x 71 return p 72 } 73 74 func (x Output_Retry) String() string { 75 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 76 } 77 78 func (Output_Retry) Descriptor() protoreflect.EnumDescriptor { 79 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_enumTypes[0].Descriptor() 80 } 81 82 func (Output_Retry) Type() protoreflect.EnumType { 83 return &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_enumTypes[0] 84 } 85 86 func (x Output_Retry) Number() protoreflect.EnumNumber { 87 return protoreflect.EnumNumber(x) 88 } 89 90 // Deprecated: Use Output_Retry.Descriptor instead. 91 func (Output_Retry) EnumDescriptor() ([]byte, []int) { 92 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP(), []int{1, 0} 93 } 94 95 // Input provides CQ metadata for CQ-triggered tryjob. 96 type Input struct { 97 state protoimpl.MessageState 98 sizeCache protoimpl.SizeCache 99 unknownFields protoimpl.UnknownFields 100 101 // If true, CQ is active for the current build. CQ is considered "active" for 102 // a build if CQ triggered the build, either directly or indirectly. 103 Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` 104 // If false, CQ would try to submit CL(s) if all other checks pass. 105 // If true, CQ won't try to submit. 106 // 107 // DEPRECATED: Use run_mode instead. 108 DryRun bool `protobuf:"varint,2,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` 109 // If true, CQ will not take this build into account while deciding whether 110 // CL is good or not. See also `experiment_percentage` of CQ's config file. 111 Experimental bool `protobuf:"varint,3,opt,name=experimental,proto3" json:"experimental,omitempty"` 112 // If true, CQ triggered this build directly, otherwise typically indicates a 113 // child build triggered by a CQ triggered one (possibly indirectly). 114 // 115 // Can be spoofed. *DO NOT USE FOR SECURITY CHECKS.* 116 // 117 // One possible use is to distinguish which builds must be cancelled manually, 118 // and which (top_level=True) CQ would cancel itself. 119 TopLevel bool `protobuf:"varint,4,opt,name=top_level,json=topLevel,proto3" json:"top_level,omitempty"` 120 // The mode of the CQ Run that triggers this Tryjob. 121 RunMode string `protobuf:"bytes,5,opt,name=run_mode,json=runMode,proto3" json:"run_mode,omitempty"` 122 // Tells whether the Run owner is a Googler. 123 // 124 // DO NOT USE: This is a temporary workaround for crbug/1259887 which 125 // is supposed to be used by Chromium only. 126 // TODO(crbug/1382195): Remove this field after long term solution is 127 // ready. 128 OwnerIsGoogler bool `protobuf:"varint,20,opt,name=owner_is_googler,json=ownerIsGoogler,proto3" json:"owner_is_googler,omitempty"` 129 } 130 131 func (x *Input) Reset() { 132 *x = Input{} 133 if protoimpl.UnsafeEnabled { 134 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[0] 135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 136 ms.StoreMessageInfo(mi) 137 } 138 } 139 140 func (x *Input) String() string { 141 return protoimpl.X.MessageStringOf(x) 142 } 143 144 func (*Input) ProtoMessage() {} 145 146 func (x *Input) ProtoReflect() protoreflect.Message { 147 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[0] 148 if protoimpl.UnsafeEnabled && x != nil { 149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 150 if ms.LoadMessageInfo() == nil { 151 ms.StoreMessageInfo(mi) 152 } 153 return ms 154 } 155 return mi.MessageOf(x) 156 } 157 158 // Deprecated: Use Input.ProtoReflect.Descriptor instead. 159 func (*Input) Descriptor() ([]byte, []int) { 160 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP(), []int{0} 161 } 162 163 func (x *Input) GetActive() bool { 164 if x != nil { 165 return x.Active 166 } 167 return false 168 } 169 170 func (x *Input) GetDryRun() bool { 171 if x != nil { 172 return x.DryRun 173 } 174 return false 175 } 176 177 func (x *Input) GetExperimental() bool { 178 if x != nil { 179 return x.Experimental 180 } 181 return false 182 } 183 184 func (x *Input) GetTopLevel() bool { 185 if x != nil { 186 return x.TopLevel 187 } 188 return false 189 } 190 191 func (x *Input) GetRunMode() string { 192 if x != nil { 193 return x.RunMode 194 } 195 return "" 196 } 197 198 func (x *Input) GetOwnerIsGoogler() bool { 199 if x != nil { 200 return x.OwnerIsGoogler 201 } 202 return false 203 } 204 205 // Output provides build-specific instructions back to CQ. 206 // 207 // Unless stated otherwise, each Output message field can be set even on builds 208 // not triggered directly or indirectly by CQ itself. For example, `git cl try` 209 // or Gerrit UI can be used to trigger a build directly, which can then instruct 210 // CQ not to retry it. 211 // 212 // CQ periodically checks the Output of still running builds, too, 213 // and may act on the Output even before a build is completed. 214 type Output struct { 215 state protoimpl.MessageState 216 sizeCache protoimpl.SizeCache 217 unknownFields protoimpl.UnknownFields 218 219 // Buildbucket build IDs which this build has triggered for CQ to wait on. 220 // 221 // Required when using triggered_by builders in project's CQ config. 222 // This is useful to allow the triggering builder to finish without waiting 223 // for its child builds, which can be efficiently done by CQ. 224 // 225 // This is equivalent to setting legacy top-level "triggered_build_ids" output 226 // property. 227 // TODO(tandrii): deprecate and remove the legacy property. 228 TriggeredBuildIds []int64 `protobuf:"varint,1,rep,packed,name=triggered_build_ids,json=triggeredBuildIds,proto3" json:"triggered_build_ids,omitempty"` 229 // Retry controls whether this build can be retried by CQ. 230 Retry Output_Retry `protobuf:"varint,2,opt,name=retry,proto3,enum=cq.recipe.Output_Retry" json:"retry,omitempty"` 231 // Reuse restricts potential reuse of this build by a later CQ run. 232 // 233 // DEPRECATED in favor of `reusability`. 234 // TODO(crbug/1225047): Remove this after CQDaemon is decommissioned. For now, 235 // CQDaemon will still use this field to decide reusability. 236 // 237 // NOTE: even if reuse is not restricted here, reuse is still subject to other 238 // restrictions in applicable project's CQ config. 239 // 240 // If empty (default), reuse is *allowed*. 241 // 242 // If specified, the order matters: the first matching Reuse message wins. 243 // If specified and no Reuse match the run, reuse is *not allowed*. 244 // If any individual Reuse block is invalid, reuse is *not allowed*. 245 // 246 // Examples: 247 // 248 // 1. To prohibit reuse only for Full runs, do: 249 // {mode_regexp: "fullrun" deny: true} 250 // {mode_regexp: ".+" deny: false} 251 // 252 // 2. To prohibit reuse for everything except Dry Runs, do: 253 // {mode_regexp: "dryrun"} 254 // 255 // Deprecated: Marked as deprecated in go.chromium.org/luci/cv/api/recipe/v1/cq.proto. 256 Reuse []*Output_Reuse `protobuf:"bytes,3,rep,name=reuse,proto3" json:"reuse,omitempty"` 257 // Reusability restricts potential reuse of this build by a later LUCI CV run. 258 // 259 // NOTE: even if reuse is not restricted here, reuse is still subject to other 260 // restrictions in applicable project's CQ config. 261 // 262 // If not specified, reuse is *allowed*. 263 Reusability *Output_Reusability `protobuf:"bytes,4,opt,name=reusability,proto3" json:"reusability,omitempty"` 264 } 265 266 func (x *Output) Reset() { 267 *x = Output{} 268 if protoimpl.UnsafeEnabled { 269 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[1] 270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 271 ms.StoreMessageInfo(mi) 272 } 273 } 274 275 func (x *Output) String() string { 276 return protoimpl.X.MessageStringOf(x) 277 } 278 279 func (*Output) ProtoMessage() {} 280 281 func (x *Output) ProtoReflect() protoreflect.Message { 282 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[1] 283 if protoimpl.UnsafeEnabled && x != nil { 284 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 285 if ms.LoadMessageInfo() == nil { 286 ms.StoreMessageInfo(mi) 287 } 288 return ms 289 } 290 return mi.MessageOf(x) 291 } 292 293 // Deprecated: Use Output.ProtoReflect.Descriptor instead. 294 func (*Output) Descriptor() ([]byte, []int) { 295 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP(), []int{1} 296 } 297 298 func (x *Output) GetTriggeredBuildIds() []int64 { 299 if x != nil { 300 return x.TriggeredBuildIds 301 } 302 return nil 303 } 304 305 func (x *Output) GetRetry() Output_Retry { 306 if x != nil { 307 return x.Retry 308 } 309 return Output_OUTPUT_RETRY_UNSPECIFIED 310 } 311 312 // Deprecated: Marked as deprecated in go.chromium.org/luci/cv/api/recipe/v1/cq.proto. 313 func (x *Output) GetReuse() []*Output_Reuse { 314 if x != nil { 315 return x.Reuse 316 } 317 return nil 318 } 319 320 func (x *Output) GetReusability() *Output_Reusability { 321 if x != nil { 322 return x.Reusability 323 } 324 return nil 325 } 326 327 type Output_Reuse struct { 328 state protoimpl.MessageState 329 sizeCache protoimpl.SizeCache 330 unknownFields protoimpl.UnknownFields 331 332 // Regular expression for modes of Runs for which this Reuse block applies. 333 // Required. 334 // 335 // Implicitly wrapped with (?i)^...$ (= complete case-insensitive match). 336 // 337 // For example, 338 // 339 // ".+" will match all modes of Runs, 340 // "dryrun" and "fullrun" will match only Dry and Full runs, respectively. 341 ModeRegexp string `protobuf:"bytes,1,opt,name=mode_regexp,json=modeRegexp,proto3" json:"mode_regexp,omitempty"` 342 // If deny is true, then reuse of this build in the future Runs of the 343 // matched mode is not allowed. 344 // 345 // If false, then reuse is allowed. It's useful to stop the matching in case 346 // of several Reuse messages. 347 Deny bool `protobuf:"varint,2,opt,name=deny,proto3" json:"deny,omitempty"` 348 } 349 350 func (x *Output_Reuse) Reset() { 351 *x = Output_Reuse{} 352 if protoimpl.UnsafeEnabled { 353 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[2] 354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 355 ms.StoreMessageInfo(mi) 356 } 357 } 358 359 func (x *Output_Reuse) String() string { 360 return protoimpl.X.MessageStringOf(x) 361 } 362 363 func (*Output_Reuse) ProtoMessage() {} 364 365 func (x *Output_Reuse) ProtoReflect() protoreflect.Message { 366 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[2] 367 if protoimpl.UnsafeEnabled && x != nil { 368 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 369 if ms.LoadMessageInfo() == nil { 370 ms.StoreMessageInfo(mi) 371 } 372 return ms 373 } 374 return mi.MessageOf(x) 375 } 376 377 // Deprecated: Use Output_Reuse.ProtoReflect.Descriptor instead. 378 func (*Output_Reuse) Descriptor() ([]byte, []int) { 379 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP(), []int{1, 0} 380 } 381 382 func (x *Output_Reuse) GetModeRegexp() string { 383 if x != nil { 384 return x.ModeRegexp 385 } 386 return "" 387 } 388 389 func (x *Output_Reuse) GetDeny() bool { 390 if x != nil { 391 return x.Deny 392 } 393 return false 394 } 395 396 type Output_Reusability struct { 397 state protoimpl.MessageState 398 sizeCache protoimpl.SizeCache 399 unknownFields protoimpl.UnknownFields 400 401 // mode_allowlist specifies modes of LUCI CV Runs that can reuse this build. 402 // 403 // If not provided (or empty), all modes are *allowed* for reuse. 404 ModeAllowlist []string `protobuf:"bytes,4,rep,name=mode_allowlist,json=modeAllowlist,proto3" json:"mode_allowlist,omitempty"` 405 } 406 407 func (x *Output_Reusability) Reset() { 408 *x = Output_Reusability{} 409 if protoimpl.UnsafeEnabled { 410 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[3] 411 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 412 ms.StoreMessageInfo(mi) 413 } 414 } 415 416 func (x *Output_Reusability) String() string { 417 return protoimpl.X.MessageStringOf(x) 418 } 419 420 func (*Output_Reusability) ProtoMessage() {} 421 422 func (x *Output_Reusability) ProtoReflect() protoreflect.Message { 423 mi := &file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[3] 424 if protoimpl.UnsafeEnabled && x != nil { 425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 426 if ms.LoadMessageInfo() == nil { 427 ms.StoreMessageInfo(mi) 428 } 429 return ms 430 } 431 return mi.MessageOf(x) 432 } 433 434 // Deprecated: Use Output_Reusability.ProtoReflect.Descriptor instead. 435 func (*Output_Reusability) Descriptor() ([]byte, []int) { 436 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP(), []int{1, 1} 437 } 438 439 func (x *Output_Reusability) GetModeAllowlist() []string { 440 if x != nil { 441 return x.ModeAllowlist 442 } 443 return nil 444 } 445 446 var File_go_chromium_org_luci_cv_api_recipe_v1_cq_proto protoreflect.FileDescriptor 447 448 var file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDesc = []byte{ 449 0x0a, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 450 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 451 0x63, 0x69, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 452 0x12, 0x09, 0x63, 0x71, 0x2e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x05, 453 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 454 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x17, 0x0a, 455 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 456 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 457 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x78, 458 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 459 0x70, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 460 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6d, 461 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4d, 0x6f, 462 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x5f, 0x67, 463 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6f, 0x77, 464 0x6e, 0x65, 0x72, 0x49, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x72, 0x22, 0xa9, 0x03, 0x0a, 465 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x72, 0x69, 0x67, 0x67, 466 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 467 0x20, 0x03, 0x28, 0x03, 0x52, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x42, 468 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 469 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x71, 0x2e, 0x72, 0x65, 0x63, 0x69, 470 0x70, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52, 471 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x72, 0x65, 0x75, 0x73, 0x65, 0x18, 472 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x71, 0x2e, 0x72, 0x65, 0x63, 0x69, 0x70, 473 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x65, 0x42, 0x02, 474 0x18, 0x01, 0x52, 0x05, 0x72, 0x65, 0x75, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x75, 475 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 476 0x2e, 0x63, 0x71, 0x2e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 477 0x74, 0x2e, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x72, 478 0x65, 0x75, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x3c, 0x0a, 0x05, 0x52, 0x65, 479 0x75, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 480 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x52, 0x65, 481 0x67, 0x65, 0x78, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 482 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x6e, 0x79, 0x1a, 0x34, 0x0a, 0x0b, 0x52, 0x65, 0x75, 0x73, 483 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 484 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 485 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x58, 486 0x0a, 0x05, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x55, 0x54, 0x50, 0x55, 487 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 488 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 489 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x01, 0x12, 490 0x17, 0x0a, 0x13, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 491 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x6f, 0x2e, 0x63, 492 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 493 0x2f, 0x63, 0x76, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2f, 0x76, 494 0x31, 0x3b, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 495 } 496 497 var ( 498 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescOnce sync.Once 499 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescData = file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDesc 500 ) 501 502 func file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescGZIP() []byte { 503 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescOnce.Do(func() { 504 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescData) 505 }) 506 return file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDescData 507 } 508 509 var file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 510 var file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes = make([]protoimpl.MessageInfo, 4) 511 var file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_goTypes = []interface{}{ 512 (Output_Retry)(0), // 0: cq.recipe.Output.Retry 513 (*Input)(nil), // 1: cq.recipe.Input 514 (*Output)(nil), // 2: cq.recipe.Output 515 (*Output_Reuse)(nil), // 3: cq.recipe.Output.Reuse 516 (*Output_Reusability)(nil), // 4: cq.recipe.Output.Reusability 517 } 518 var file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_depIdxs = []int32{ 519 0, // 0: cq.recipe.Output.retry:type_name -> cq.recipe.Output.Retry 520 3, // 1: cq.recipe.Output.reuse:type_name -> cq.recipe.Output.Reuse 521 4, // 2: cq.recipe.Output.reusability:type_name -> cq.recipe.Output.Reusability 522 3, // [3:3] is the sub-list for method output_type 523 3, // [3:3] is the sub-list for method input_type 524 3, // [3:3] is the sub-list for extension type_name 525 3, // [3:3] is the sub-list for extension extendee 526 0, // [0:3] is the sub-list for field type_name 527 } 528 529 func init() { file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_init() } 530 func file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_init() { 531 if File_go_chromium_org_luci_cv_api_recipe_v1_cq_proto != nil { 532 return 533 } 534 if !protoimpl.UnsafeEnabled { 535 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 536 switch v := v.(*Input); i { 537 case 0: 538 return &v.state 539 case 1: 540 return &v.sizeCache 541 case 2: 542 return &v.unknownFields 543 default: 544 return nil 545 } 546 } 547 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 548 switch v := v.(*Output); i { 549 case 0: 550 return &v.state 551 case 1: 552 return &v.sizeCache 553 case 2: 554 return &v.unknownFields 555 default: 556 return nil 557 } 558 } 559 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 560 switch v := v.(*Output_Reuse); i { 561 case 0: 562 return &v.state 563 case 1: 564 return &v.sizeCache 565 case 2: 566 return &v.unknownFields 567 default: 568 return nil 569 } 570 } 571 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 572 switch v := v.(*Output_Reusability); i { 573 case 0: 574 return &v.state 575 case 1: 576 return &v.sizeCache 577 case 2: 578 return &v.unknownFields 579 default: 580 return nil 581 } 582 } 583 } 584 type x struct{} 585 out := protoimpl.TypeBuilder{ 586 File: protoimpl.DescBuilder{ 587 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 588 RawDescriptor: file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDesc, 589 NumEnums: 1, 590 NumMessages: 4, 591 NumExtensions: 0, 592 NumServices: 0, 593 }, 594 GoTypes: file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_goTypes, 595 DependencyIndexes: file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_depIdxs, 596 EnumInfos: file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_enumTypes, 597 MessageInfos: file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_msgTypes, 598 }.Build() 599 File_go_chromium_org_luci_cv_api_recipe_v1_cq_proto = out.File 600 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_rawDesc = nil 601 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_goTypes = nil 602 file_go_chromium_org_luci_cv_api_recipe_v1_cq_proto_depIdxs = nil 603 }