go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/bisection/proto/v1/culprits.pb.go (about)

     1  // Copyright 2023 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/bisection/proto/v1/culprits.proto
    20  
    21  package bisectionpb
    22  
    23  import (
    24  	proto "go.chromium.org/luci/buildbucket/proto"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  type CulpritActionType int32
    40  
    41  const (
    42  	CulpritActionType_CULPRIT_ACTION_TYPE_UNSPECIFIED CulpritActionType = 0
    43  	// No action has been taken with the culprit.
    44  	CulpritActionType_NO_ACTION CulpritActionType = 1
    45  	// The culprit was auto-reverted by LUCI Bisection.
    46  	CulpritActionType_CULPRIT_AUTO_REVERTED CulpritActionType = 2
    47  	// The revert CL for the culprit was created.
    48  	// Maybe waiting for a human to review or for the verification process
    49  	// to finish.
    50  	CulpritActionType_REVERT_CL_CREATED CulpritActionType = 3
    51  	// LUCI Bisection commented on the culprit CL.
    52  	CulpritActionType_CULPRIT_CL_COMMENTED CulpritActionType = 4
    53  	// LUCI Bisection commented on the bug for the failure.
    54  	CulpritActionType_BUG_COMMENTED CulpritActionType = 5
    55  	// LUCI Bisection commented on an existing revert CL for the culprit CL.
    56  	CulpritActionType_EXISTING_REVERT_CL_COMMENTED CulpritActionType = 6
    57  )
    58  
    59  // Enum value maps for CulpritActionType.
    60  var (
    61  	CulpritActionType_name = map[int32]string{
    62  		0: "CULPRIT_ACTION_TYPE_UNSPECIFIED",
    63  		1: "NO_ACTION",
    64  		2: "CULPRIT_AUTO_REVERTED",
    65  		3: "REVERT_CL_CREATED",
    66  		4: "CULPRIT_CL_COMMENTED",
    67  		5: "BUG_COMMENTED",
    68  		6: "EXISTING_REVERT_CL_COMMENTED",
    69  	}
    70  	CulpritActionType_value = map[string]int32{
    71  		"CULPRIT_ACTION_TYPE_UNSPECIFIED": 0,
    72  		"NO_ACTION":                       1,
    73  		"CULPRIT_AUTO_REVERTED":           2,
    74  		"REVERT_CL_CREATED":               3,
    75  		"CULPRIT_CL_COMMENTED":            4,
    76  		"BUG_COMMENTED":                   5,
    77  		"EXISTING_REVERT_CL_COMMENTED":    6,
    78  	}
    79  )
    80  
    81  func (x CulpritActionType) Enum() *CulpritActionType {
    82  	p := new(CulpritActionType)
    83  	*p = x
    84  	return p
    85  }
    86  
    87  func (x CulpritActionType) String() string {
    88  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    89  }
    90  
    91  func (CulpritActionType) Descriptor() protoreflect.EnumDescriptor {
    92  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes[0].Descriptor()
    93  }
    94  
    95  func (CulpritActionType) Type() protoreflect.EnumType {
    96  	return &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes[0]
    97  }
    98  
    99  func (x CulpritActionType) Number() protoreflect.EnumNumber {
   100  	return protoreflect.EnumNumber(x)
   101  }
   102  
   103  // Deprecated: Use CulpritActionType.Descriptor instead.
   104  func (CulpritActionType) EnumDescriptor() ([]byte, []int) {
   105  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescGZIP(), []int{0}
   106  }
   107  
   108  // CulpritInactionReason encapsulates common reasons for why culprits found by
   109  // LUCI Bisection may not have resulted in any perceivable actions.
   110  type CulpritInactionReason int32
   111  
   112  const (
   113  	CulpritInactionReason_CULPRIT_INACTION_REASON_UNSPECIFIED CulpritInactionReason = 0
   114  	// The culprit has been reverted by LUCI Bisection.
   115  	CulpritInactionReason_REVERTED_BY_BISECTION CulpritInactionReason = 1
   116  	// The culprit has been reverted, but not by LUCI Bisection.
   117  	CulpritInactionReason_REVERTED_MANUALLY CulpritInactionReason = 2
   118  	// The culprit has an existing revert, yet to be merged, created by
   119  	// LUCI Bisection.
   120  	CulpritInactionReason_REVERT_OWNED_BY_BISECTION CulpritInactionReason = 3
   121  	// The culprit's existing revert already has a comment from LUCI Bisection.
   122  	CulpritInactionReason_REVERT_HAS_COMMENT CulpritInactionReason = 4
   123  	// The culprit already has a comment from LUCI Bisection.
   124  	CulpritInactionReason_CULPRIT_HAS_COMMENT CulpritInactionReason = 5
   125  	// The analysis that resulted in the culprit has been canceled.
   126  	CulpritInactionReason_ANALYSIS_CANCELED CulpritInactionReason = 6
   127  	// Culprit actions have been disabled via configs.
   128  	CulpritInactionReason_ACTIONS_DISABLED CulpritInactionReason = 7
   129  	// The test being analysed is no longer having unexpected status.
   130  	CulpritInactionReason_TEST_NO_LONGER_UNEXPECTED CulpritInactionReason = 8
   131  )
   132  
   133  // Enum value maps for CulpritInactionReason.
   134  var (
   135  	CulpritInactionReason_name = map[int32]string{
   136  		0: "CULPRIT_INACTION_REASON_UNSPECIFIED",
   137  		1: "REVERTED_BY_BISECTION",
   138  		2: "REVERTED_MANUALLY",
   139  		3: "REVERT_OWNED_BY_BISECTION",
   140  		4: "REVERT_HAS_COMMENT",
   141  		5: "CULPRIT_HAS_COMMENT",
   142  		6: "ANALYSIS_CANCELED",
   143  		7: "ACTIONS_DISABLED",
   144  		8: "TEST_NO_LONGER_UNEXPECTED",
   145  	}
   146  	CulpritInactionReason_value = map[string]int32{
   147  		"CULPRIT_INACTION_REASON_UNSPECIFIED": 0,
   148  		"REVERTED_BY_BISECTION":               1,
   149  		"REVERTED_MANUALLY":                   2,
   150  		"REVERT_OWNED_BY_BISECTION":           3,
   151  		"REVERT_HAS_COMMENT":                  4,
   152  		"CULPRIT_HAS_COMMENT":                 5,
   153  		"ANALYSIS_CANCELED":                   6,
   154  		"ACTIONS_DISABLED":                    7,
   155  		"TEST_NO_LONGER_UNEXPECTED":           8,
   156  	}
   157  )
   158  
   159  func (x CulpritInactionReason) Enum() *CulpritInactionReason {
   160  	p := new(CulpritInactionReason)
   161  	*p = x
   162  	return p
   163  }
   164  
   165  func (x CulpritInactionReason) String() string {
   166  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   167  }
   168  
   169  func (CulpritInactionReason) Descriptor() protoreflect.EnumDescriptor {
   170  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes[1].Descriptor()
   171  }
   172  
   173  func (CulpritInactionReason) Type() protoreflect.EnumType {
   174  	return &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes[1]
   175  }
   176  
   177  func (x CulpritInactionReason) Number() protoreflect.EnumNumber {
   178  	return protoreflect.EnumNumber(x)
   179  }
   180  
   181  // Deprecated: Use CulpritInactionReason.Descriptor instead.
   182  func (CulpritInactionReason) EnumDescriptor() ([]byte, []int) {
   183  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescGZIP(), []int{1}
   184  }
   185  
   186  type Culprit struct {
   187  	state         protoimpl.MessageState
   188  	sizeCache     protoimpl.SizeCache
   189  	unknownFields protoimpl.UnknownFields
   190  
   191  	// The gitiles commit for the culprit.
   192  	Commit *proto.GitilesCommit `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
   193  	// The review URL for the culprit.
   194  	ReviewUrl string `protobuf:"bytes,2,opt,name=review_url,json=reviewUrl,proto3" json:"review_url,omitempty"`
   195  	// The review title for the culprit.
   196  	ReviewTitle string `protobuf:"bytes,3,opt,name=review_title,json=reviewTitle,proto3" json:"review_title,omitempty"`
   197  	// Actions we have taken with the culprit.
   198  	// More than one action may be taken, for example, reverting the culprit and
   199  	// commenting on the bug.
   200  	CulpritAction []*CulpritAction `protobuf:"bytes,4,rep,name=culprit_action,json=culpritAction,proto3" json:"culprit_action,omitempty"`
   201  	// The details of suspect verification for the culprit.
   202  	VerificationDetails *SuspectVerificationDetails `protobuf:"bytes,5,opt,name=verification_details,json=verificationDetails,proto3" json:"verification_details,omitempty"`
   203  }
   204  
   205  func (x *Culprit) Reset() {
   206  	*x = Culprit{}
   207  	if protoimpl.UnsafeEnabled {
   208  		mi := &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[0]
   209  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   210  		ms.StoreMessageInfo(mi)
   211  	}
   212  }
   213  
   214  func (x *Culprit) String() string {
   215  	return protoimpl.X.MessageStringOf(x)
   216  }
   217  
   218  func (*Culprit) ProtoMessage() {}
   219  
   220  func (x *Culprit) ProtoReflect() protoreflect.Message {
   221  	mi := &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[0]
   222  	if protoimpl.UnsafeEnabled && x != nil {
   223  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   224  		if ms.LoadMessageInfo() == nil {
   225  			ms.StoreMessageInfo(mi)
   226  		}
   227  		return ms
   228  	}
   229  	return mi.MessageOf(x)
   230  }
   231  
   232  // Deprecated: Use Culprit.ProtoReflect.Descriptor instead.
   233  func (*Culprit) Descriptor() ([]byte, []int) {
   234  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescGZIP(), []int{0}
   235  }
   236  
   237  func (x *Culprit) GetCommit() *proto.GitilesCommit {
   238  	if x != nil {
   239  		return x.Commit
   240  	}
   241  	return nil
   242  }
   243  
   244  func (x *Culprit) GetReviewUrl() string {
   245  	if x != nil {
   246  		return x.ReviewUrl
   247  	}
   248  	return ""
   249  }
   250  
   251  func (x *Culprit) GetReviewTitle() string {
   252  	if x != nil {
   253  		return x.ReviewTitle
   254  	}
   255  	return ""
   256  }
   257  
   258  func (x *Culprit) GetCulpritAction() []*CulpritAction {
   259  	if x != nil {
   260  		return x.CulpritAction
   261  	}
   262  	return nil
   263  }
   264  
   265  func (x *Culprit) GetVerificationDetails() *SuspectVerificationDetails {
   266  	if x != nil {
   267  		return x.VerificationDetails
   268  	}
   269  	return nil
   270  }
   271  
   272  // An action that LUCI Bisection has taken with the culprit.
   273  type CulpritAction struct {
   274  	state         protoimpl.MessageState
   275  	sizeCache     protoimpl.SizeCache
   276  	unknownFields protoimpl.UnknownFields
   277  
   278  	ActionType CulpritActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=luci.bisection.v1.CulpritActionType" json:"action_type,omitempty"`
   279  	// URL to the revert CL for the culprit.
   280  	RevertClUrl string `protobuf:"bytes,2,opt,name=revert_cl_url,json=revertClUrl,proto3" json:"revert_cl_url,omitempty"`
   281  	// URL to the bug, if action_type = BUG_COMMENTED.
   282  	BugUrl string `protobuf:"bytes,3,opt,name=bug_url,json=bugUrl,proto3" json:"bug_url,omitempty"`
   283  	// Timestamp of when the culprit action was executed.
   284  	ActionTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=action_time,json=actionTime,proto3" json:"action_time,omitempty"`
   285  	// Optional reason for why no action was taken with the culprit, if
   286  	// action_type = NO_ACTION.
   287  	InactionReason CulpritInactionReason `protobuf:"varint,5,opt,name=inaction_reason,json=inactionReason,proto3,enum=luci.bisection.v1.CulpritInactionReason" json:"inaction_reason,omitempty"`
   288  }
   289  
   290  func (x *CulpritAction) Reset() {
   291  	*x = CulpritAction{}
   292  	if protoimpl.UnsafeEnabled {
   293  		mi := &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[1]
   294  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   295  		ms.StoreMessageInfo(mi)
   296  	}
   297  }
   298  
   299  func (x *CulpritAction) String() string {
   300  	return protoimpl.X.MessageStringOf(x)
   301  }
   302  
   303  func (*CulpritAction) ProtoMessage() {}
   304  
   305  func (x *CulpritAction) ProtoReflect() protoreflect.Message {
   306  	mi := &file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[1]
   307  	if protoimpl.UnsafeEnabled && x != nil {
   308  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   309  		if ms.LoadMessageInfo() == nil {
   310  			ms.StoreMessageInfo(mi)
   311  		}
   312  		return ms
   313  	}
   314  	return mi.MessageOf(x)
   315  }
   316  
   317  // Deprecated: Use CulpritAction.ProtoReflect.Descriptor instead.
   318  func (*CulpritAction) Descriptor() ([]byte, []int) {
   319  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescGZIP(), []int{1}
   320  }
   321  
   322  func (x *CulpritAction) GetActionType() CulpritActionType {
   323  	if x != nil {
   324  		return x.ActionType
   325  	}
   326  	return CulpritActionType_CULPRIT_ACTION_TYPE_UNSPECIFIED
   327  }
   328  
   329  func (x *CulpritAction) GetRevertClUrl() string {
   330  	if x != nil {
   331  		return x.RevertClUrl
   332  	}
   333  	return ""
   334  }
   335  
   336  func (x *CulpritAction) GetBugUrl() string {
   337  	if x != nil {
   338  		return x.BugUrl
   339  	}
   340  	return ""
   341  }
   342  
   343  func (x *CulpritAction) GetActionTime() *timestamppb.Timestamp {
   344  	if x != nil {
   345  		return x.ActionTime
   346  	}
   347  	return nil
   348  }
   349  
   350  func (x *CulpritAction) GetInactionReason() CulpritInactionReason {
   351  	if x != nil {
   352  		return x.InactionReason
   353  	}
   354  	return CulpritInactionReason_CULPRIT_INACTION_REASON_UNSPECIFIED
   355  }
   356  
   357  var File_go_chromium_org_luci_bisection_proto_v1_culprits_proto protoreflect.FileDescriptor
   358  
   359  var file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDesc = []byte{
   360  	0x0a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   361  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   362  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69,
   363  	0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62,
   364  	0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
   365  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
   366  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f,
   367  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
   368  	0x63, 0x69, 0x2f, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f,
   369  	0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
   370  	0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
   371  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
   372  	0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
   373  	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x02, 0x0a, 0x07, 0x43, 0x75, 0x6c, 0x70,
   374  	0x72, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20,
   375  	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
   376  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d,
   377  	0x69, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
   378  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
   379  	0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x76,
   380  	0x69, 0x65, 0x77, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
   381  	0x0b, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x0e,
   382  	0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
   383  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65,
   384  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74,
   385  	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x41,
   386  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63,
   387  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20,
   388  	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63,
   389  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x56,
   390  	0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69,
   391  	0x6c, 0x73, 0x52, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   392  	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa3, 0x02, 0x0a, 0x0d, 0x43, 0x75, 0x6c, 0x70,
   393  	0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x63, 0x74,
   394  	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
   395  	0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
   396  	0x76, 0x31, 0x2e, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   397  	0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
   398  	0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x5f, 0x75, 0x72,
   399  	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x43,
   400  	0x6c, 0x55, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18,
   401  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x3b, 0x0a,
   402  	0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
   403  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   404  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
   405  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x69, 0x6e,
   406  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20,
   407  	0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63,
   408  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x49,
   409  	0x6e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0e, 0x69,
   410  	0x6e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2a, 0xc8, 0x01,
   411  	0x0a, 0x11, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
   412  	0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x55, 0x4c, 0x50, 0x52, 0x49, 0x54, 0x5f, 0x41,
   413  	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
   414  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x41,
   415  	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x55, 0x4c, 0x50, 0x52,
   416  	0x49, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44,
   417  	0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x4c, 0x5f,
   418  	0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x55, 0x4c,
   419  	0x50, 0x52, 0x49, 0x54, 0x5f, 0x43, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x45,
   420  	0x44, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x55, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45,
   421  	0x4e, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x49, 0x53, 0x54, 0x49,
   422  	0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x4c, 0x5f, 0x43, 0x4f, 0x4d,
   423  	0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x06, 0x2a, 0x8e, 0x02, 0x0a, 0x15, 0x43, 0x75, 0x6c,
   424  	0x70, 0x72, 0x69, 0x74, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73,
   425  	0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x55, 0x4c, 0x50, 0x52, 0x49, 0x54, 0x5f, 0x49, 0x4e,
   426  	0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
   427  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52,
   428  	0x45, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x42, 0x49, 0x53, 0x45, 0x43,
   429  	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54,
   430  	0x45, 0x44, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a,
   431  	0x19, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x59,
   432  	0x5f, 0x42, 0x49, 0x53, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12,
   433  	0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45,
   434  	0x4e, 0x54, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x55, 0x4c, 0x50, 0x52, 0x49, 0x54, 0x5f,
   435  	0x48, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x15, 0x0a,
   436  	0x11, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
   437  	0x45, 0x44, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f,
   438  	0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x45,
   439  	0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x45,
   440  	0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x08, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x6f, 0x2e,
   441  	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63,
   442  	0x69, 0x2f, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   443  	0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x62,
   444  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   445  }
   446  
   447  var (
   448  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescOnce sync.Once
   449  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescData = file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDesc
   450  )
   451  
   452  func file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescGZIP() []byte {
   453  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescOnce.Do(func() {
   454  		file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescData)
   455  	})
   456  	return file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDescData
   457  }
   458  
   459  var file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
   460  var file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
   461  var file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_goTypes = []interface{}{
   462  	(CulpritActionType)(0),             // 0: luci.bisection.v1.CulpritActionType
   463  	(CulpritInactionReason)(0),         // 1: luci.bisection.v1.CulpritInactionReason
   464  	(*Culprit)(nil),                    // 2: luci.bisection.v1.Culprit
   465  	(*CulpritAction)(nil),              // 3: luci.bisection.v1.CulpritAction
   466  	(*proto.GitilesCommit)(nil),        // 4: buildbucket.v2.GitilesCommit
   467  	(*SuspectVerificationDetails)(nil), // 5: luci.bisection.v1.SuspectVerificationDetails
   468  	(*timestamppb.Timestamp)(nil),      // 6: google.protobuf.Timestamp
   469  }
   470  var file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_depIdxs = []int32{
   471  	4, // 0: luci.bisection.v1.Culprit.commit:type_name -> buildbucket.v2.GitilesCommit
   472  	3, // 1: luci.bisection.v1.Culprit.culprit_action:type_name -> luci.bisection.v1.CulpritAction
   473  	5, // 2: luci.bisection.v1.Culprit.verification_details:type_name -> luci.bisection.v1.SuspectVerificationDetails
   474  	0, // 3: luci.bisection.v1.CulpritAction.action_type:type_name -> luci.bisection.v1.CulpritActionType
   475  	6, // 4: luci.bisection.v1.CulpritAction.action_time:type_name -> google.protobuf.Timestamp
   476  	1, // 5: luci.bisection.v1.CulpritAction.inaction_reason:type_name -> luci.bisection.v1.CulpritInactionReason
   477  	6, // [6:6] is the sub-list for method output_type
   478  	6, // [6:6] is the sub-list for method input_type
   479  	6, // [6:6] is the sub-list for extension type_name
   480  	6, // [6:6] is the sub-list for extension extendee
   481  	0, // [0:6] is the sub-list for field type_name
   482  }
   483  
   484  func init() { file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_init() }
   485  func file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_init() {
   486  	if File_go_chromium_org_luci_bisection_proto_v1_culprits_proto != nil {
   487  		return
   488  	}
   489  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_init()
   490  	if !protoimpl.UnsafeEnabled {
   491  		file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   492  			switch v := v.(*Culprit); i {
   493  			case 0:
   494  				return &v.state
   495  			case 1:
   496  				return &v.sizeCache
   497  			case 2:
   498  				return &v.unknownFields
   499  			default:
   500  				return nil
   501  			}
   502  		}
   503  		file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   504  			switch v := v.(*CulpritAction); i {
   505  			case 0:
   506  				return &v.state
   507  			case 1:
   508  				return &v.sizeCache
   509  			case 2:
   510  				return &v.unknownFields
   511  			default:
   512  				return nil
   513  			}
   514  		}
   515  	}
   516  	type x struct{}
   517  	out := protoimpl.TypeBuilder{
   518  		File: protoimpl.DescBuilder{
   519  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   520  			RawDescriptor: file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDesc,
   521  			NumEnums:      2,
   522  			NumMessages:   2,
   523  			NumExtensions: 0,
   524  			NumServices:   0,
   525  		},
   526  		GoTypes:           file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_goTypes,
   527  		DependencyIndexes: file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_depIdxs,
   528  		EnumInfos:         file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_enumTypes,
   529  		MessageInfos:      file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_msgTypes,
   530  	}.Build()
   531  	File_go_chromium_org_luci_bisection_proto_v1_culprits_proto = out.File
   532  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_rawDesc = nil
   533  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_goTypes = nil
   534  	file_go_chromium_org_luci_bisection_proto_v1_culprits_proto_depIdxs = nil
   535  }