v0.4.0 72f8f2e

event.pb.go RawHistoryFolder

1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// 	protoc-gen-go v1.36.12
6// 	protoc        (unknown)
7// source: ermite/event.proto
8
9package ermite
10
11import (
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
15	reflect "reflect"
16	sync "sync"
17	unsafe "unsafe"
18)
19
20const (
21	// Verify that this generated code is sufficiently up-to-date.
22	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
23	// Verify that runtime/protoimpl is sufficiently up-to-date.
24	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
25)
26
27// WatchRequest selects the events to receive.
28type WatchRequest struct {
29	state protoimpl.MessageState `protogen:"open.v1"`
30	// Topics are the subjects to follow: "home" for every repository visible to
31	// the caller, or "repo:<name>" for one repository. Empty means "home".
32	// Unknown topics are invalid_argument. A "repo:<name>" topic for a repository
33	// that does not exist or is not visible is not_found.
34	Topics []string `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
35	// ResumeAfter is the Event.id of the last event the client has seen. Empty
36	// to receive only new events.
37	ResumeAfter   string `protobuf:"bytes,2,opt,name=resume_after,json=resumeAfter,proto3" json:"resume_after,omitempty"`
38	unknownFields protoimpl.UnknownFields
39	sizeCache     protoimpl.SizeCache
40}
41
42func (x *WatchRequest) Reset() {
43	*x = WatchRequest{}
44	mi := &file_ermite_event_proto_msgTypes[0]
45	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
46	ms.StoreMessageInfo(mi)
47}
48
49func (x *WatchRequest) String() string {
50	return protoimpl.X.MessageStringOf(x)
51}
52
53func (*WatchRequest) ProtoMessage() {}
54
55func (x *WatchRequest) ProtoReflect() protoreflect.Message {
56	mi := &file_ermite_event_proto_msgTypes[0]
57	if x != nil {
58		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
59		if ms.LoadMessageInfo() == nil {
60			ms.StoreMessageInfo(mi)
61		}
62		return ms
63	}
64	return mi.MessageOf(x)
65}
66
67// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
68func (*WatchRequest) Descriptor() ([]byte, []int) {
69	return file_ermite_event_proto_rawDescGZIP(), []int{0}
70}
71
72func (x *WatchRequest) GetTopics() []string {
73	if x != nil {
74		return x.Topics
75	}
76	return nil
77}
78
79func (x *WatchRequest) GetResumeAfter() string {
80	if x != nil {
81		return x.ResumeAfter
82	}
83	return ""
84}
85
86// WatchResponse carries one event of the stream.
87type WatchResponse struct {
88	state protoimpl.MessageState `protogen:"open.v1"`
89	// Event is the event.
90	Event         *Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
91	unknownFields protoimpl.UnknownFields
92	sizeCache     protoimpl.SizeCache
93}
94
95func (x *WatchResponse) Reset() {
96	*x = WatchResponse{}
97	mi := &file_ermite_event_proto_msgTypes[1]
98	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
99	ms.StoreMessageInfo(mi)
100}
101
102func (x *WatchResponse) String() string {
103	return protoimpl.X.MessageStringOf(x)
104}
105
106func (*WatchResponse) ProtoMessage() {}
107
108func (x *WatchResponse) ProtoReflect() protoreflect.Message {
109	mi := &file_ermite_event_proto_msgTypes[1]
110	if x != nil {
111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
112		if ms.LoadMessageInfo() == nil {
113			ms.StoreMessageInfo(mi)
114		}
115		return ms
116	}
117	return mi.MessageOf(x)
118}
119
120// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
121func (*WatchResponse) Descriptor() ([]byte, []int) {
122	return file_ermite_event_proto_rawDescGZIP(), []int{1}
123}
124
125func (x *WatchResponse) GetEvent() *Event {
126	if x != nil {
127		return x.Event
128	}
129	return nil
130}
131
132// Event is something that happened on the forge.
133type Event struct {
134	state protoimpl.MessageState `protogen:"open.v1"`
135	// Id identifies the event and is passed as resume_after to resume a stream.
136	// It is opaque and only comparable for equality; clients must not parse it.
137	// Empty on a Gap event.
138	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
139	// Time is when the event happened.
140	Time *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
141	// Kind is the type and payload of the event. New kinds may be added; clients
142	// must ignore kinds they do not know.
143	//
144	// Types that are valid to be assigned to Kind:
145	//
146	//	*Event_RepoCreated
147	//	*Event_RepoUpdated
148	//	*Event_RepoDeleted
149	//	*Event_Pushed
150	//	*Event_Gap
151	//	*Event_MergeRequestOpened
152	//	*Event_MergeRequestMerged
153	//	*Event_MergeRequestClosed
154	//	*Event_CommentAdded
155	//	*Event_RunUpdated
156	//	*Event_JobUpdated
157	Kind          isEvent_Kind `protobuf_oneof:"kind"`
158	unknownFields protoimpl.UnknownFields
159	sizeCache     protoimpl.SizeCache
160}
161
162func (x *Event) Reset() {
163	*x = Event{}
164	mi := &file_ermite_event_proto_msgTypes[2]
165	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
166	ms.StoreMessageInfo(mi)
167}
168
169func (x *Event) String() string {
170	return protoimpl.X.MessageStringOf(x)
171}
172
173func (*Event) ProtoMessage() {}
174
175func (x *Event) ProtoReflect() protoreflect.Message {
176	mi := &file_ermite_event_proto_msgTypes[2]
177	if x != nil {
178		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
179		if ms.LoadMessageInfo() == nil {
180			ms.StoreMessageInfo(mi)
181		}
182		return ms
183	}
184	return mi.MessageOf(x)
185}
186
187// Deprecated: Use Event.ProtoReflect.Descriptor instead.
188func (*Event) Descriptor() ([]byte, []int) {
189	return file_ermite_event_proto_rawDescGZIP(), []int{2}
190}
191
192func (x *Event) GetId() string {
193	if x != nil {
194		return x.Id
195	}
196	return ""
197}
198
199func (x *Event) GetTime() *timestamppb.Timestamp {
200	if x != nil {
201		return x.Time
202	}
203	return nil
204}
205
206func (x *Event) GetKind() isEvent_Kind {
207	if x != nil {
208		return x.Kind
209	}
210	return nil
211}
212
213func (x *Event) GetRepoCreated() *RepoCreated {
214	if x != nil {
215		if x, ok := x.Kind.(*Event_RepoCreated); ok {
216			return x.RepoCreated
217		}
218	}
219	return nil
220}
221
222func (x *Event) GetRepoUpdated() *RepoUpdated {
223	if x != nil {
224		if x, ok := x.Kind.(*Event_RepoUpdated); ok {
225			return x.RepoUpdated
226		}
227	}
228	return nil
229}
230
231func (x *Event) GetRepoDeleted() *RepoDeleted {
232	if x != nil {
233		if x, ok := x.Kind.(*Event_RepoDeleted); ok {
234			return x.RepoDeleted
235		}
236	}
237	return nil
238}
239
240func (x *Event) GetPushed() *Pushed {
241	if x != nil {
242		if x, ok := x.Kind.(*Event_Pushed); ok {
243			return x.Pushed
244		}
245	}
246	return nil
247}
248
249func (x *Event) GetGap() *Gap {
250	if x != nil {
251		if x, ok := x.Kind.(*Event_Gap); ok {
252			return x.Gap
253		}
254	}
255	return nil
256}
257
258func (x *Event) GetMergeRequestOpened() *MergeRequestOpened {
259	if x != nil {
260		if x, ok := x.Kind.(*Event_MergeRequestOpened); ok {
261			return x.MergeRequestOpened
262		}
263	}
264	return nil
265}
266
267func (x *Event) GetMergeRequestMerged() *MergeRequestMerged {
268	if x != nil {
269		if x, ok := x.Kind.(*Event_MergeRequestMerged); ok {
270			return x.MergeRequestMerged
271		}
272	}
273	return nil
274}
275
276func (x *Event) GetMergeRequestClosed() *MergeRequestClosed {
277	if x != nil {
278		if x, ok := x.Kind.(*Event_MergeRequestClosed); ok {
279			return x.MergeRequestClosed
280		}
281	}
282	return nil
283}
284
285func (x *Event) GetCommentAdded() *CommentAdded {
286	if x != nil {
287		if x, ok := x.Kind.(*Event_CommentAdded); ok {
288			return x.CommentAdded
289		}
290	}
291	return nil
292}
293
294func (x *Event) GetRunUpdated() *RunUpdated {
295	if x != nil {
296		if x, ok := x.Kind.(*Event_RunUpdated); ok {
297			return x.RunUpdated
298		}
299	}
300	return nil
301}
302
303func (x *Event) GetJobUpdated() *JobUpdated {
304	if x != nil {
305		if x, ok := x.Kind.(*Event_JobUpdated); ok {
306			return x.JobUpdated
307		}
308	}
309	return nil
310}
311
312type isEvent_Kind interface {
313	isEvent_Kind()
314}
315
316type Event_RepoCreated struct {
317	// RepoCreated: a repository was created.
318	RepoCreated *RepoCreated `protobuf:"bytes,3,opt,name=repo_created,json=repoCreated,proto3,oneof"`
319}
320
321type Event_RepoUpdated struct {
322	// RepoUpdated: repository metadata changed.
323	RepoUpdated *RepoUpdated `protobuf:"bytes,4,opt,name=repo_updated,json=repoUpdated,proto3,oneof"`
324}
325
326type Event_RepoDeleted struct {
327	// RepoDeleted: a repository was deleted.
328	RepoDeleted *RepoDeleted `protobuf:"bytes,5,opt,name=repo_deleted,json=repoDeleted,proto3,oneof"`
329}
330
331type Event_Pushed struct {
332	// Pushed: refs of a repository were updated by a push.
333	Pushed *Pushed `protobuf:"bytes,6,opt,name=pushed,proto3,oneof"`
334}
335
336type Event_Gap struct {
337	// Gap: events were lost, reload state.
338	Gap *Gap `protobuf:"bytes,7,opt,name=gap,proto3,oneof"`
339}
340
341type Event_MergeRequestOpened struct {
342	// MergeRequestOpened: a merge request was opened.
343	MergeRequestOpened *MergeRequestOpened `protobuf:"bytes,8,opt,name=merge_request_opened,json=mergeRequestOpened,proto3,oneof"`
344}
345
346type Event_MergeRequestMerged struct {
347	// MergeRequestMerged: a merge request was merged.
348	MergeRequestMerged *MergeRequestMerged `protobuf:"bytes,9,opt,name=merge_request_merged,json=mergeRequestMerged,proto3,oneof"`
349}
350
351type Event_MergeRequestClosed struct {
352	// MergeRequestClosed: a merge request was closed without merging.
353	MergeRequestClosed *MergeRequestClosed `protobuf:"bytes,10,opt,name=merge_request_closed,json=mergeRequestClosed,proto3,oneof"`
354}
355
356type Event_CommentAdded struct {
357	// CommentAdded: a comment was added to a merge request.
358	CommentAdded *CommentAdded `protobuf:"bytes,11,opt,name=comment_added,json=commentAdded,proto3,oneof"`
359}
360
361type Event_RunUpdated struct {
362	// RunUpdated: a CI run was created or changed.
363	RunUpdated *RunUpdated `protobuf:"bytes,12,opt,name=run_updated,json=runUpdated,proto3,oneof"`
364}
365
366type Event_JobUpdated struct {
367	// JobUpdated: a CI job was created or changed.
368	JobUpdated *JobUpdated `protobuf:"bytes,13,opt,name=job_updated,json=jobUpdated,proto3,oneof"`
369}
370
371func (*Event_RepoCreated) isEvent_Kind() {}
372
373func (*Event_RepoUpdated) isEvent_Kind() {}
374
375func (*Event_RepoDeleted) isEvent_Kind() {}
376
377func (*Event_Pushed) isEvent_Kind() {}
378
379func (*Event_Gap) isEvent_Kind() {}
380
381func (*Event_MergeRequestOpened) isEvent_Kind() {}
382
383func (*Event_MergeRequestMerged) isEvent_Kind() {}
384
385func (*Event_MergeRequestClosed) isEvent_Kind() {}
386
387func (*Event_CommentAdded) isEvent_Kind() {}
388
389func (*Event_RunUpdated) isEvent_Kind() {}
390
391func (*Event_JobUpdated) isEvent_Kind() {}
392
393// RepoCreated reports a new repository.
394type RepoCreated struct {
395	state protoimpl.MessageState `protogen:"open.v1"`
396	// Repo is the new repository.
397	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
398	unknownFields protoimpl.UnknownFields
399	sizeCache     protoimpl.SizeCache
400}
401
402func (x *RepoCreated) Reset() {
403	*x = RepoCreated{}
404	mi := &file_ermite_event_proto_msgTypes[3]
405	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
406	ms.StoreMessageInfo(mi)
407}
408
409func (x *RepoCreated) String() string {
410	return protoimpl.X.MessageStringOf(x)
411}
412
413func (*RepoCreated) ProtoMessage() {}
414
415func (x *RepoCreated) ProtoReflect() protoreflect.Message {
416	mi := &file_ermite_event_proto_msgTypes[3]
417	if x != nil {
418		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
419		if ms.LoadMessageInfo() == nil {
420			ms.StoreMessageInfo(mi)
421		}
422		return ms
423	}
424	return mi.MessageOf(x)
425}
426
427// Deprecated: Use RepoCreated.ProtoReflect.Descriptor instead.
428func (*RepoCreated) Descriptor() ([]byte, []int) {
429	return file_ermite_event_proto_rawDescGZIP(), []int{3}
430}
431
432func (x *RepoCreated) GetRepo() *Repo {
433	if x != nil {
434		return x.Repo
435	}
436	return nil
437}
438
439// RepoUpdated reports a metadata change.
440type RepoUpdated struct {
441	state protoimpl.MessageState `protogen:"open.v1"`
442	// Repo is the repository after the change.
443	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
444	unknownFields protoimpl.UnknownFields
445	sizeCache     protoimpl.SizeCache
446}
447
448func (x *RepoUpdated) Reset() {
449	*x = RepoUpdated{}
450	mi := &file_ermite_event_proto_msgTypes[4]
451	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
452	ms.StoreMessageInfo(mi)
453}
454
455func (x *RepoUpdated) String() string {
456	return protoimpl.X.MessageStringOf(x)
457}
458
459func (*RepoUpdated) ProtoMessage() {}
460
461func (x *RepoUpdated) ProtoReflect() protoreflect.Message {
462	mi := &file_ermite_event_proto_msgTypes[4]
463	if x != nil {
464		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465		if ms.LoadMessageInfo() == nil {
466			ms.StoreMessageInfo(mi)
467		}
468		return ms
469	}
470	return mi.MessageOf(x)
471}
472
473// Deprecated: Use RepoUpdated.ProtoReflect.Descriptor instead.
474func (*RepoUpdated) Descriptor() ([]byte, []int) {
475	return file_ermite_event_proto_rawDescGZIP(), []int{4}
476}
477
478func (x *RepoUpdated) GetRepo() *Repo {
479	if x != nil {
480		return x.Repo
481	}
482	return nil
483}
484
485// RepoDeleted reports a deleted repository.
486type RepoDeleted struct {
487	state protoimpl.MessageState `protogen:"open.v1"`
488	// Repo is the name of the deleted repository.
489	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
490	unknownFields protoimpl.UnknownFields
491	sizeCache     protoimpl.SizeCache
492}
493
494func (x *RepoDeleted) Reset() {
495	*x = RepoDeleted{}
496	mi := &file_ermite_event_proto_msgTypes[5]
497	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
498	ms.StoreMessageInfo(mi)
499}
500
501func (x *RepoDeleted) String() string {
502	return protoimpl.X.MessageStringOf(x)
503}
504
505func (*RepoDeleted) ProtoMessage() {}
506
507func (x *RepoDeleted) ProtoReflect() protoreflect.Message {
508	mi := &file_ermite_event_proto_msgTypes[5]
509	if x != nil {
510		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
511		if ms.LoadMessageInfo() == nil {
512			ms.StoreMessageInfo(mi)
513		}
514		return ms
515	}
516	return mi.MessageOf(x)
517}
518
519// Deprecated: Use RepoDeleted.ProtoReflect.Descriptor instead.
520func (*RepoDeleted) Descriptor() ([]byte, []int) {
521	return file_ermite_event_proto_rawDescGZIP(), []int{5}
522}
523
524func (x *RepoDeleted) GetRepo() string {
525	if x != nil {
526		return x.Repo
527	}
528	return ""
529}
530
531// Pushed reports the ref updates of one push.
532type Pushed struct {
533	state protoimpl.MessageState `protogen:"open.v1"`
534	// Repo is the name of the repository.
535	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
536	// RefUpdates are the refs changed by the push.
537	RefUpdates    []*RefUpdate `protobuf:"bytes,2,rep,name=ref_updates,json=refUpdates,proto3" json:"ref_updates,omitempty"`
538	unknownFields protoimpl.UnknownFields
539	sizeCache     protoimpl.SizeCache
540}
541
542func (x *Pushed) Reset() {
543	*x = Pushed{}
544	mi := &file_ermite_event_proto_msgTypes[6]
545	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
546	ms.StoreMessageInfo(mi)
547}
548
549func (x *Pushed) String() string {
550	return protoimpl.X.MessageStringOf(x)
551}
552
553func (*Pushed) ProtoMessage() {}
554
555func (x *Pushed) ProtoReflect() protoreflect.Message {
556	mi := &file_ermite_event_proto_msgTypes[6]
557	if x != nil {
558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
559		if ms.LoadMessageInfo() == nil {
560			ms.StoreMessageInfo(mi)
561		}
562		return ms
563	}
564	return mi.MessageOf(x)
565}
566
567// Deprecated: Use Pushed.ProtoReflect.Descriptor instead.
568func (*Pushed) Descriptor() ([]byte, []int) {
569	return file_ermite_event_proto_rawDescGZIP(), []int{6}
570}
571
572func (x *Pushed) GetRepo() string {
573	if x != nil {
574		return x.Repo
575	}
576	return ""
577}
578
579func (x *Pushed) GetRefUpdates() []*RefUpdate {
580	if x != nil {
581		return x.RefUpdates
582	}
583	return nil
584}
585
586// RefUpdate is the change of one ref.
587type RefUpdate struct {
588	state protoimpl.MessageState `protogen:"open.v1"`
589	// Ref is the full ref name, for example "refs/heads/main".
590	Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
591	// OldId is the object id before the update. Empty when the ref was created.
592	OldId string `protobuf:"bytes,2,opt,name=old_id,json=oldId,proto3" json:"old_id,omitempty"`
593	// NewId is the object id after the update. Empty when the ref was deleted.
594	NewId         string `protobuf:"bytes,3,opt,name=new_id,json=newId,proto3" json:"new_id,omitempty"`
595	unknownFields protoimpl.UnknownFields
596	sizeCache     protoimpl.SizeCache
597}
598
599func (x *RefUpdate) Reset() {
600	*x = RefUpdate{}
601	mi := &file_ermite_event_proto_msgTypes[7]
602	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
603	ms.StoreMessageInfo(mi)
604}
605
606func (x *RefUpdate) String() string {
607	return protoimpl.X.MessageStringOf(x)
608}
609
610func (*RefUpdate) ProtoMessage() {}
611
612func (x *RefUpdate) ProtoReflect() protoreflect.Message {
613	mi := &file_ermite_event_proto_msgTypes[7]
614	if x != nil {
615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
616		if ms.LoadMessageInfo() == nil {
617			ms.StoreMessageInfo(mi)
618		}
619		return ms
620	}
621	return mi.MessageOf(x)
622}
623
624// Deprecated: Use RefUpdate.ProtoReflect.Descriptor instead.
625func (*RefUpdate) Descriptor() ([]byte, []int) {
626	return file_ermite_event_proto_rawDescGZIP(), []int{7}
627}
628
629func (x *RefUpdate) GetRef() string {
630	if x != nil {
631		return x.Ref
632	}
633	return ""
634}
635
636func (x *RefUpdate) GetOldId() string {
637	if x != nil {
638		return x.OldId
639	}
640	return ""
641}
642
643func (x *RefUpdate) GetNewId() string {
644	if x != nil {
645		return x.NewId
646	}
647	return ""
648}
649
650// MergeRequestOpened reports a new merge request.
651type MergeRequestOpened struct {
652	state protoimpl.MessageState `protogen:"open.v1"`
653	// MergeRequest is the new merge request.
654	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
655	unknownFields protoimpl.UnknownFields
656	sizeCache     protoimpl.SizeCache
657}
658
659func (x *MergeRequestOpened) Reset() {
660	*x = MergeRequestOpened{}
661	mi := &file_ermite_event_proto_msgTypes[8]
662	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
663	ms.StoreMessageInfo(mi)
664}
665
666func (x *MergeRequestOpened) String() string {
667	return protoimpl.X.MessageStringOf(x)
668}
669
670func (*MergeRequestOpened) ProtoMessage() {}
671
672func (x *MergeRequestOpened) ProtoReflect() protoreflect.Message {
673	mi := &file_ermite_event_proto_msgTypes[8]
674	if x != nil {
675		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
676		if ms.LoadMessageInfo() == nil {
677			ms.StoreMessageInfo(mi)
678		}
679		return ms
680	}
681	return mi.MessageOf(x)
682}
683
684// Deprecated: Use MergeRequestOpened.ProtoReflect.Descriptor instead.
685func (*MergeRequestOpened) Descriptor() ([]byte, []int) {
686	return file_ermite_event_proto_rawDescGZIP(), []int{8}
687}
688
689func (x *MergeRequestOpened) GetMergeRequest() *MergeRequest {
690	if x != nil {
691		return x.MergeRequest
692	}
693	return nil
694}
695
696// MergeRequestMerged reports a merged merge request. It is published before
697// the Pushed event of the target branch.
698type MergeRequestMerged struct {
699	state protoimpl.MessageState `protogen:"open.v1"`
700	// MergeRequest is the merge request after the merge.
701	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
702	unknownFields protoimpl.UnknownFields
703	sizeCache     protoimpl.SizeCache
704}
705
706func (x *MergeRequestMerged) Reset() {
707	*x = MergeRequestMerged{}
708	mi := &file_ermite_event_proto_msgTypes[9]
709	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
710	ms.StoreMessageInfo(mi)
711}
712
713func (x *MergeRequestMerged) String() string {
714	return protoimpl.X.MessageStringOf(x)
715}
716
717func (*MergeRequestMerged) ProtoMessage() {}
718
719func (x *MergeRequestMerged) ProtoReflect() protoreflect.Message {
720	mi := &file_ermite_event_proto_msgTypes[9]
721	if x != nil {
722		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
723		if ms.LoadMessageInfo() == nil {
724			ms.StoreMessageInfo(mi)
725		}
726		return ms
727	}
728	return mi.MessageOf(x)
729}
730
731// Deprecated: Use MergeRequestMerged.ProtoReflect.Descriptor instead.
732func (*MergeRequestMerged) Descriptor() ([]byte, []int) {
733	return file_ermite_event_proto_rawDescGZIP(), []int{9}
734}
735
736func (x *MergeRequestMerged) GetMergeRequest() *MergeRequest {
737	if x != nil {
738		return x.MergeRequest
739	}
740	return nil
741}
742
743// MergeRequestClosed reports a merge request closed without merging.
744type MergeRequestClosed struct {
745	state protoimpl.MessageState `protogen:"open.v1"`
746	// MergeRequest is the merge request after closing.
747	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
748	unknownFields protoimpl.UnknownFields
749	sizeCache     protoimpl.SizeCache
750}
751
752func (x *MergeRequestClosed) Reset() {
753	*x = MergeRequestClosed{}
754	mi := &file_ermite_event_proto_msgTypes[10]
755	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
756	ms.StoreMessageInfo(mi)
757}
758
759func (x *MergeRequestClosed) String() string {
760	return protoimpl.X.MessageStringOf(x)
761}
762
763func (*MergeRequestClosed) ProtoMessage() {}
764
765func (x *MergeRequestClosed) ProtoReflect() protoreflect.Message {
766	mi := &file_ermite_event_proto_msgTypes[10]
767	if x != nil {
768		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
769		if ms.LoadMessageInfo() == nil {
770			ms.StoreMessageInfo(mi)
771		}
772		return ms
773	}
774	return mi.MessageOf(x)
775}
776
777// Deprecated: Use MergeRequestClosed.ProtoReflect.Descriptor instead.
778func (*MergeRequestClosed) Descriptor() ([]byte, []int) {
779	return file_ermite_event_proto_rawDescGZIP(), []int{10}
780}
781
782func (x *MergeRequestClosed) GetMergeRequest() *MergeRequest {
783	if x != nil {
784		return x.MergeRequest
785	}
786	return nil
787}
788
789// CommentAdded reports a new comment on a merge request.
790type CommentAdded struct {
791	state protoimpl.MessageState `protogen:"open.v1"`
792	// Repo is the name of the repository.
793	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
794	// Number is the number of the merge request.
795	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
796	// Comment is the new comment.
797	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
798	unknownFields protoimpl.UnknownFields
799	sizeCache     protoimpl.SizeCache
800}
801
802func (x *CommentAdded) Reset() {
803	*x = CommentAdded{}
804	mi := &file_ermite_event_proto_msgTypes[11]
805	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
806	ms.StoreMessageInfo(mi)
807}
808
809func (x *CommentAdded) String() string {
810	return protoimpl.X.MessageStringOf(x)
811}
812
813func (*CommentAdded) ProtoMessage() {}
814
815func (x *CommentAdded) ProtoReflect() protoreflect.Message {
816	mi := &file_ermite_event_proto_msgTypes[11]
817	if x != nil {
818		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
819		if ms.LoadMessageInfo() == nil {
820			ms.StoreMessageInfo(mi)
821		}
822		return ms
823	}
824	return mi.MessageOf(x)
825}
826
827// Deprecated: Use CommentAdded.ProtoReflect.Descriptor instead.
828func (*CommentAdded) Descriptor() ([]byte, []int) {
829	return file_ermite_event_proto_rawDescGZIP(), []int{11}
830}
831
832func (x *CommentAdded) GetRepo() string {
833	if x != nil {
834		return x.Repo
835	}
836	return ""
837}
838
839func (x *CommentAdded) GetNumber() int64 {
840	if x != nil {
841		return x.Number
842	}
843	return 0
844}
845
846func (x *CommentAdded) GetComment() *Comment {
847	if x != nil {
848		return x.Comment
849	}
850	return nil
851}
852
853// Gap tells the client that events were lost: the requested resume point is
854// older than the server's buffer. It has no fields. The client should reload
855// the state it displays (repositories, refs, merge requests and their
856// comments, CI runs and their jobs) and carry on with the next events.
857type Gap struct {
858	state         protoimpl.MessageState `protogen:"open.v1"`
859	unknownFields protoimpl.UnknownFields
860	sizeCache     protoimpl.SizeCache
861}
862
863func (x *Gap) Reset() {
864	*x = Gap{}
865	mi := &file_ermite_event_proto_msgTypes[12]
866	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
867	ms.StoreMessageInfo(mi)
868}
869
870func (x *Gap) String() string {
871	return protoimpl.X.MessageStringOf(x)
872}
873
874func (*Gap) ProtoMessage() {}
875
876func (x *Gap) ProtoReflect() protoreflect.Message {
877	mi := &file_ermite_event_proto_msgTypes[12]
878	if x != nil {
879		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
880		if ms.LoadMessageInfo() == nil {
881			ms.StoreMessageInfo(mi)
882		}
883		return ms
884	}
885	return mi.MessageOf(x)
886}
887
888// Deprecated: Use Gap.ProtoReflect.Descriptor instead.
889func (*Gap) Descriptor() ([]byte, []int) {
890	return file_ermite_event_proto_rawDescGZIP(), []int{12}
891}
892
893// RunUpdated reports a CI run that was created or whose status, conclusion or
894// timestamps changed. It is delivered on the "repo:<name>" topic only.
895type RunUpdated struct {
896	state protoimpl.MessageState `protogen:"open.v1"`
897	// Run is the run after the change, as of its latest attempt, without jobs.
898	Run           *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
899	unknownFields protoimpl.UnknownFields
900	sizeCache     protoimpl.SizeCache
901}
902
903func (x *RunUpdated) Reset() {
904	*x = RunUpdated{}
905	mi := &file_ermite_event_proto_msgTypes[13]
906	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
907	ms.StoreMessageInfo(mi)
908}
909
910func (x *RunUpdated) String() string {
911	return protoimpl.X.MessageStringOf(x)
912}
913
914func (*RunUpdated) ProtoMessage() {}
915
916func (x *RunUpdated) ProtoReflect() protoreflect.Message {
917	mi := &file_ermite_event_proto_msgTypes[13]
918	if x != nil {
919		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
920		if ms.LoadMessageInfo() == nil {
921			ms.StoreMessageInfo(mi)
922		}
923		return ms
924	}
925	return mi.MessageOf(x)
926}
927
928// Deprecated: Use RunUpdated.ProtoReflect.Descriptor instead.
929func (*RunUpdated) Descriptor() ([]byte, []int) {
930	return file_ermite_event_proto_rawDescGZIP(), []int{13}
931}
932
933func (x *RunUpdated) GetRun() *Run {
934	if x != nil {
935		return x.Run
936	}
937	return nil
938}
939
940// JobUpdated reports a CI job that was created or whose status, conclusion,
941// runner or steps changed. It is delivered on the "repo:<name>" topic only.
942type JobUpdated struct {
943	state protoimpl.MessageState `protogen:"open.v1"`
944	// Job is the job after the change, with its steps.
945	Job           *RunJob `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
946	unknownFields protoimpl.UnknownFields
947	sizeCache     protoimpl.SizeCache
948}
949
950func (x *JobUpdated) Reset() {
951	*x = JobUpdated{}
952	mi := &file_ermite_event_proto_msgTypes[14]
953	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
954	ms.StoreMessageInfo(mi)
955}
956
957func (x *JobUpdated) String() string {
958	return protoimpl.X.MessageStringOf(x)
959}
960
961func (*JobUpdated) ProtoMessage() {}
962
963func (x *JobUpdated) ProtoReflect() protoreflect.Message {
964	mi := &file_ermite_event_proto_msgTypes[14]
965	if x != nil {
966		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
967		if ms.LoadMessageInfo() == nil {
968			ms.StoreMessageInfo(mi)
969		}
970		return ms
971	}
972	return mi.MessageOf(x)
973}
974
975// Deprecated: Use JobUpdated.ProtoReflect.Descriptor instead.
976func (*JobUpdated) Descriptor() ([]byte, []int) {
977	return file_ermite_event_proto_rawDescGZIP(), []int{14}
978}
979
980func (x *JobUpdated) GetJob() *RunJob {
981	if x != nil {
982		return x.Job
983	}
984	return nil
985}
986
987var File_ermite_event_proto protoreflect.FileDescriptor
988
989const file_ermite_event_proto_rawDesc = "" +
990	"\n" +
991	"\x12ermite/event.proto\x12\x06ermite\x1a\x1aermite/merge_request.proto\x1a\x11ermite/repo.proto\x1a\x10ermite/run.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"I\n" +
992	"\fWatchRequest\x12\x16\n" +
993	"\x06topics\x18\x01 \x03(\tR\x06topics\x12!\n" +
994	"\fresume_after\x18\x02 \x01(\tR\vresumeAfter\"4\n" +
995	"\rWatchResponse\x12#\n" +
996	"\x05event\x18\x01 \x01(\v2\r.ermite.EventR\x05event\"\xe3\x05\n" +
997	"\x05Event\x12\x0e\n" +
998	"\x02id\x18\x01 \x01(\tR\x02id\x12.\n" +
999	"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
1000	"\frepo_created\x18\x03 \x01(\v2\x13.ermite.RepoCreatedH\x00R\vrepoCreated\x128\n" +
1001	"\frepo_updated\x18\x04 \x01(\v2\x13.ermite.RepoUpdatedH\x00R\vrepoUpdated\x128\n" +
1002	"\frepo_deleted\x18\x05 \x01(\v2\x13.ermite.RepoDeletedH\x00R\vrepoDeleted\x12(\n" +
1003	"\x06pushed\x18\x06 \x01(\v2\x0e.ermite.PushedH\x00R\x06pushed\x12\x1f\n" +
1004	"\x03gap\x18\a \x01(\v2\v.ermite.GapH\x00R\x03gap\x12N\n" +
1005	"\x14merge_request_opened\x18\b \x01(\v2\x1a.ermite.MergeRequestOpenedH\x00R\x12mergeRequestOpened\x12N\n" +
1006	"\x14merge_request_merged\x18\t \x01(\v2\x1a.ermite.MergeRequestMergedH\x00R\x12mergeRequestMerged\x12N\n" +
1007	"\x14merge_request_closed\x18\n" +
1008	" \x01(\v2\x1a.ermite.MergeRequestClosedH\x00R\x12mergeRequestClosed\x12;\n" +
1009	"\rcomment_added\x18\v \x01(\v2\x14.ermite.CommentAddedH\x00R\fcommentAdded\x125\n" +
1010	"\vrun_updated\x18\f \x01(\v2\x12.ermite.RunUpdatedH\x00R\n" +
1011	"runUpdated\x125\n" +
1012	"\vjob_updated\x18\r \x01(\v2\x12.ermite.JobUpdatedH\x00R\n" +
1013	"jobUpdatedB\x06\n" +
1014	"\x04kind\"/\n" +
1015	"\vRepoCreated\x12 \n" +
1016	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"/\n" +
1017	"\vRepoUpdated\x12 \n" +
1018	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"!\n" +
1019	"\vRepoDeleted\x12\x12\n" +
1020	"\x04repo\x18\x01 \x01(\tR\x04repo\"P\n" +
1021	"\x06Pushed\x12\x12\n" +
1022	"\x04repo\x18\x01 \x01(\tR\x04repo\x122\n" +
1023	"\vref_updates\x18\x02 \x03(\v2\x11.ermite.RefUpdateR\n" +
1024	"refUpdates\"K\n" +
1025	"\tRefUpdate\x12\x10\n" +
1026	"\x03ref\x18\x01 \x01(\tR\x03ref\x12\x15\n" +
1027	"\x06old_id\x18\x02 \x01(\tR\x05oldId\x12\x15\n" +
1028	"\x06new_id\x18\x03 \x01(\tR\x05newId\"O\n" +
1029	"\x12MergeRequestOpened\x129\n" +
1030	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"O\n" +
1031	"\x12MergeRequestMerged\x129\n" +
1032	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"O\n" +
1033	"\x12MergeRequestClosed\x129\n" +
1034	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"e\n" +
1035	"\fCommentAdded\x12\x12\n" +
1036	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1037	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
1038	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"\x05\n" +
1039	"\x03Gap\"+\n" +
1040	"\n" +
1041	"RunUpdated\x12\x1d\n" +
1042	"\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\".\n" +
1043	"\n" +
1044	"JobUpdated\x12 \n" +
1045	"\x03job\x18\x01 \x01(\v2\x0e.ermite.RunJobR\x03job2F\n" +
1046	"\fEventService\x126\n" +
1047	"\x05Watch\x12\x14.ermite.WatchRequest\x1a\x15.ermite.WatchResponse0\x01Bq\n" +
1048	"\n" +
1049	"com.ermiteB\n" +
1050	"EventProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
1051
1052var (
1053	file_ermite_event_proto_rawDescOnce sync.Once
1054	file_ermite_event_proto_rawDescData []byte
1055)
1056
1057func file_ermite_event_proto_rawDescGZIP() []byte {
1058	file_ermite_event_proto_rawDescOnce.Do(func() {
1059		file_ermite_event_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)))
1060	})
1061	return file_ermite_event_proto_rawDescData
1062}
1063
1064var file_ermite_event_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
1065var file_ermite_event_proto_goTypes = []any{
1066	(*WatchRequest)(nil),          // 0: ermite.WatchRequest
1067	(*WatchResponse)(nil),         // 1: ermite.WatchResponse
1068	(*Event)(nil),                 // 2: ermite.Event
1069	(*RepoCreated)(nil),           // 3: ermite.RepoCreated
1070	(*RepoUpdated)(nil),           // 4: ermite.RepoUpdated
1071	(*RepoDeleted)(nil),           // 5: ermite.RepoDeleted
1072	(*Pushed)(nil),                // 6: ermite.Pushed
1073	(*RefUpdate)(nil),             // 7: ermite.RefUpdate
1074	(*MergeRequestOpened)(nil),    // 8: ermite.MergeRequestOpened
1075	(*MergeRequestMerged)(nil),    // 9: ermite.MergeRequestMerged
1076	(*MergeRequestClosed)(nil),    // 10: ermite.MergeRequestClosed
1077	(*CommentAdded)(nil),          // 11: ermite.CommentAdded
1078	(*Gap)(nil),                   // 12: ermite.Gap
1079	(*RunUpdated)(nil),            // 13: ermite.RunUpdated
1080	(*JobUpdated)(nil),            // 14: ermite.JobUpdated
1081	(*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp
1082	(*Repo)(nil),                  // 16: ermite.Repo
1083	(*MergeRequest)(nil),          // 17: ermite.MergeRequest
1084	(*Comment)(nil),               // 18: ermite.Comment
1085	(*Run)(nil),                   // 19: ermite.Run
1086	(*RunJob)(nil),                // 20: ermite.RunJob
1087}
1088var file_ermite_event_proto_depIdxs = []int32{
1089	2,  // 0: ermite.WatchResponse.event:type_name -> ermite.Event
1090	15, // 1: ermite.Event.time:type_name -> google.protobuf.Timestamp
1091	3,  // 2: ermite.Event.repo_created:type_name -> ermite.RepoCreated
1092	4,  // 3: ermite.Event.repo_updated:type_name -> ermite.RepoUpdated
1093	5,  // 4: ermite.Event.repo_deleted:type_name -> ermite.RepoDeleted
1094	6,  // 5: ermite.Event.pushed:type_name -> ermite.Pushed
1095	12, // 6: ermite.Event.gap:type_name -> ermite.Gap
1096	8,  // 7: ermite.Event.merge_request_opened:type_name -> ermite.MergeRequestOpened
1097	9,  // 8: ermite.Event.merge_request_merged:type_name -> ermite.MergeRequestMerged
1098	10, // 9: ermite.Event.merge_request_closed:type_name -> ermite.MergeRequestClosed
1099	11, // 10: ermite.Event.comment_added:type_name -> ermite.CommentAdded
1100	13, // 11: ermite.Event.run_updated:type_name -> ermite.RunUpdated
1101	14, // 12: ermite.Event.job_updated:type_name -> ermite.JobUpdated
1102	16, // 13: ermite.RepoCreated.repo:type_name -> ermite.Repo
1103	16, // 14: ermite.RepoUpdated.repo:type_name -> ermite.Repo
1104	7,  // 15: ermite.Pushed.ref_updates:type_name -> ermite.RefUpdate
1105	17, // 16: ermite.MergeRequestOpened.merge_request:type_name -> ermite.MergeRequest
1106	17, // 17: ermite.MergeRequestMerged.merge_request:type_name -> ermite.MergeRequest
1107	17, // 18: ermite.MergeRequestClosed.merge_request:type_name -> ermite.MergeRequest
1108	18, // 19: ermite.CommentAdded.comment:type_name -> ermite.Comment
1109	19, // 20: ermite.RunUpdated.run:type_name -> ermite.Run
1110	20, // 21: ermite.JobUpdated.job:type_name -> ermite.RunJob
1111	0,  // 22: ermite.EventService.Watch:input_type -> ermite.WatchRequest
1112	1,  // 23: ermite.EventService.Watch:output_type -> ermite.WatchResponse
1113	23, // [23:24] is the sub-list for method output_type
1114	22, // [22:23] is the sub-list for method input_type
1115	22, // [22:22] is the sub-list for extension type_name
1116	22, // [22:22] is the sub-list for extension extendee
1117	0,  // [0:22] is the sub-list for field type_name
1118}
1119
1120func init() { file_ermite_event_proto_init() }
1121func file_ermite_event_proto_init() {
1122	if File_ermite_event_proto != nil {
1123		return
1124	}
1125	file_ermite_merge_request_proto_init()
1126	file_ermite_repo_proto_init()
1127	file_ermite_run_proto_init()
1128	file_ermite_event_proto_msgTypes[2].OneofWrappers = []any{
1129		(*Event_RepoCreated)(nil),
1130		(*Event_RepoUpdated)(nil),
1131		(*Event_RepoDeleted)(nil),
1132		(*Event_Pushed)(nil),
1133		(*Event_Gap)(nil),
1134		(*Event_MergeRequestOpened)(nil),
1135		(*Event_MergeRequestMerged)(nil),
1136		(*Event_MergeRequestClosed)(nil),
1137		(*Event_CommentAdded)(nil),
1138		(*Event_RunUpdated)(nil),
1139		(*Event_JobUpdated)(nil),
1140	}
1141	type x struct{}
1142	out := protoimpl.TypeBuilder{
1143		File: protoimpl.DescBuilder{
1144			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1145			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)),
1146			NumEnums:      0,
1147			NumMessages:   15,
1148			NumExtensions: 0,
1149			NumServices:   1,
1150		},
1151		GoTypes:           file_ermite_event_proto_goTypes,
1152		DependencyIndexes: file_ermite_event_proto_depIdxs,
1153		MessageInfos:      file_ermite_event_proto_msgTypes,
1154	}.Build()
1155	File_ermite_event_proto = out.File
1156	file_ermite_event_proto_goTypes = nil
1157	file_ermite_event_proto_depIdxs = nil
1158}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 18

↑↓ moveenter openesc close