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/run.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// Run is one execution of one workflow file for one event, like a GitHub
28// workflow run. A re-run keeps the run and adds an attempt.
29type Run struct {
30 state protoimpl.MessageState `protogen:"open.v1"`
31 // Repo is the name of the repository.
32 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
33 // Id identifies the run on the whole server: it is the "github.run_id".
34 // Increasing, never reused.
35 Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
36 // Number counts the runs of the same workflow file in the repository,
37 // starting at 1, never reused: it is the "github.run_number". It does not
38 // change on a re-run.
39 Number int64 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"`
40 // Attempt is the attempt this message describes: 1 for the first, one more
41 // after each RerunRun. ListRuns and events describe the latest attempt;
42 // GetRun can ask for another one.
43 Attempt int32 `protobuf:"varint,4,opt,name=attempt,proto3" json:"attempt,omitempty"`
44 // WorkflowPath is the path of the workflow file at sha, for example
45 // ".github/workflows/ci.yml".
46 WorkflowPath string `protobuf:"bytes,5,opt,name=workflow_path,json=workflowPath,proto3" json:"workflow_path,omitempty"`
47 // WorkflowName is the "name" of the workflow, or workflow_path when it has
48 // none (as GitHub does). It is the "github.workflow" of the run and the
49 // workflow name of its checks. See name for the name of the run itself.
50 WorkflowName string `protobuf:"bytes,6,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"`
51 // Title is GitHub's display title, at most 256 characters: the evaluated
52 // "run-name" of the workflow when it has one, else for a push to a branch
53 // the first line of the message of the commit sha, and for a push of a tag
54 // the name of the workflow registered for workflow_path (the "name" of that
55 // file on the default branch, else workflow_name).
56 Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"`
57 // Event is the event that triggered the run, in GitHub's name: "push" (the
58 // only one for now; push to a branch or a tag, and merge of a merge
59 // request). New values may be added; clients show the ones they do not
60 // know as they are.
61 Event string `protobuf:"bytes,8,opt,name=event,proto3" json:"event,omitempty"`
62 // Ref is the full ref name that was pushed, for example "refs/heads/main"
63 // or "refs/tags/v1.0.0".
64 Ref string `protobuf:"bytes,9,opt,name=ref,proto3" json:"ref,omitempty"`
65 // Sha is the full id of the commit the run is for.
66 Sha string `protobuf:"bytes,10,opt,name=sha,proto3" json:"sha,omitempty"`
67 // Actor names who triggered the run: the label of the token that pushed, or
68 // "root", or "owner" (a web session, a merge of the web UI), as
69 // MergeRequest.author. It is informational.
70 Actor string `protobuf:"bytes,11,opt,name=actor,proto3" json:"actor,omitempty"`
71 // Status is where this attempt is: QUEUED until a job starts, IN_PROGRESS
72 // while jobs run or wait, COMPLETED when every job is over.
73 Status CiStatus `protobuf:"varint,12,opt,name=status,proto3,enum=ermite.CiStatus" json:"status,omitempty"`
74 // Conclusion is how this attempt ended, from its jobs' conclusions like
75 // GitHub: CANCELLED if it was cancelled, else FAILURE if a job failed or
76 // timed out, else SUCCESS (also when jobs were skipped). Unset until
77 // status is COMPLETED.
78 Conclusion CiConclusion `protobuf:"varint,13,opt,name=conclusion,proto3,enum=ermite.CiConclusion" json:"conclusion,omitempty"`
79 // Error is set when the run failed without running a job because the
80 // workflow could not be used: an invalid workflow file (the run then has
81 // no jobs and conclusion FAILURE), as GitHub's "Invalid workflow file".
82 // It holds the errors with their positions, one per line, at most 8 KiB.
83 // Empty otherwise.
84 Error string `protobuf:"bytes,14,opt,name=error,proto3" json:"error,omitempty"`
85 // CreatedAt is when this attempt was created: for attempt 1 when the
86 // trigger was planned, for later ones when RerunRun was called.
87 CreatedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
88 // StartedAt is when the first job of this attempt was given to a runner.
89 // Unset until then.
90 StartedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
91 // CompletedAt is when this attempt completed. Unset until then.
92 CompletedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
93 // Version counts the changes of this run on the server: it grows by at least
94 // one at every change and never goes back, also across attempts. Events are
95 // not delivered in order, and a client that holds two copies of a run keeps
96 // the one with the higher version and drops the other.
97 Version int64 `protobuf:"varint,18,opt,name=version,proto3" json:"version,omitempty"`
98 // Name is the name of the run, GitHub's "name" of a workflow run: the
99 // evaluated "run-name" of the workflow when it has one, else the same value
100 // as workflow_name. It is what GitHub lists as the run's name, whereas
101 // workflow_name stays the name of the workflow ("github.workflow") even when
102 // the workflow has a "run-name". A run stored before this field existed
103 // reads as workflow_name.
104 Name string `protobuf:"bytes,19,opt,name=name,proto3" json:"name,omitempty"`
105 unknownFields protoimpl.UnknownFields
106 sizeCache protoimpl.SizeCache
107}
108
109func (x *Run) Reset() {
110 *x = Run{}
111 mi := &file_ermite_run_proto_msgTypes[0]
112 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
113 ms.StoreMessageInfo(mi)
114}
115
116func (x *Run) String() string {
117 return protoimpl.X.MessageStringOf(x)
118}
119
120func (*Run) ProtoMessage() {}
121
122func (x *Run) ProtoReflect() protoreflect.Message {
123 mi := &file_ermite_run_proto_msgTypes[0]
124 if x != nil {
125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
126 if ms.LoadMessageInfo() == nil {
127 ms.StoreMessageInfo(mi)
128 }
129 return ms
130 }
131 return mi.MessageOf(x)
132}
133
134// Deprecated: Use Run.ProtoReflect.Descriptor instead.
135func (*Run) Descriptor() ([]byte, []int) {
136 return file_ermite_run_proto_rawDescGZIP(), []int{0}
137}
138
139func (x *Run) GetRepo() string {
140 if x != nil {
141 return x.Repo
142 }
143 return ""
144}
145
146func (x *Run) GetId() int64 {
147 if x != nil {
148 return x.Id
149 }
150 return 0
151}
152
153func (x *Run) GetNumber() int64 {
154 if x != nil {
155 return x.Number
156 }
157 return 0
158}
159
160func (x *Run) GetAttempt() int32 {
161 if x != nil {
162 return x.Attempt
163 }
164 return 0
165}
166
167func (x *Run) GetWorkflowPath() string {
168 if x != nil {
169 return x.WorkflowPath
170 }
171 return ""
172}
173
174func (x *Run) GetWorkflowName() string {
175 if x != nil {
176 return x.WorkflowName
177 }
178 return ""
179}
180
181func (x *Run) GetTitle() string {
182 if x != nil {
183 return x.Title
184 }
185 return ""
186}
187
188func (x *Run) GetEvent() string {
189 if x != nil {
190 return x.Event
191 }
192 return ""
193}
194
195func (x *Run) GetRef() string {
196 if x != nil {
197 return x.Ref
198 }
199 return ""
200}
201
202func (x *Run) GetSha() string {
203 if x != nil {
204 return x.Sha
205 }
206 return ""
207}
208
209func (x *Run) GetActor() string {
210 if x != nil {
211 return x.Actor
212 }
213 return ""
214}
215
216func (x *Run) GetStatus() CiStatus {
217 if x != nil {
218 return x.Status
219 }
220 return CiStatus_CI_STATUS_UNSPECIFIED
221}
222
223func (x *Run) GetConclusion() CiConclusion {
224 if x != nil {
225 return x.Conclusion
226 }
227 return CiConclusion_CI_CONCLUSION_UNSPECIFIED
228}
229
230func (x *Run) GetError() string {
231 if x != nil {
232 return x.Error
233 }
234 return ""
235}
236
237func (x *Run) GetCreatedAt() *timestamppb.Timestamp {
238 if x != nil {
239 return x.CreatedAt
240 }
241 return nil
242}
243
244func (x *Run) GetStartedAt() *timestamppb.Timestamp {
245 if x != nil {
246 return x.StartedAt
247 }
248 return nil
249}
250
251func (x *Run) GetCompletedAt() *timestamppb.Timestamp {
252 if x != nil {
253 return x.CompletedAt
254 }
255 return nil
256}
257
258func (x *Run) GetVersion() int64 {
259 if x != nil {
260 return x.Version
261 }
262 return 0
263}
264
265func (x *Run) GetName() string {
266 if x != nil {
267 return x.Name
268 }
269 return ""
270}
271
272// RunJob is a job of a run as people see it: the state of one job instance
273// (one matrix combination is one job) in one attempt. It is not Job, which is
274// what a runner receives.
275type RunJob struct {
276 state protoimpl.MessageState `protogen:"open.v1"`
277 // Id is the Job.job_id. It is the same in every attempt.
278 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
279 // RunId is the run the job belongs to.
280 RunId int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
281 // Attempt is the attempt of the run in which this job executed. It is lower
282 // than the attempt of the run when the job was kept from an earlier attempt
283 // by a re-run of the failed jobs only; the log and steps are then those of
284 // that earlier attempt. Pass it to GetJob and GetJobLog.
285 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
286 // Repo is the name of the repository.
287 Repo string `protobuf:"bytes,4,opt,name=repo,proto3" json:"repo,omitempty"`
288 // Key is the key of the job under "jobs:" in the workflow (the
289 // "github.job"). Matrix instances of one job share it.
290 Key string `protobuf:"bytes,5,opt,name=key,proto3" json:"key,omitempty"`
291 // Name is the display name of the job, evaluated, with the matrix suffix as
292 // GitHub names them, for example "build (linux, 1.27)". It is also the
293 // name of the job's check.
294 Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
295 // Status is where the job is. A job waits QUEUED for a runner and for the
296 // jobs it needs.
297 Status CiStatus `protobuf:"varint,7,opt,name=status,proto3,enum=ermite.CiStatus" json:"status,omitempty"`
298 // Conclusion is how the job ended. Unset until status is COMPLETED.
299 Conclusion CiConclusion `protobuf:"varint,8,opt,name=conclusion,proto3,enum=ermite.CiConclusion" json:"conclusion,omitempty"`
300 // Error explains a FAILURE, CANCELLED or TIMED_OUT that no step explains, in
301 // GitHub's words where it has them: the runner was lost ("The self-hosted
302 // runner: <name> lost communication with the server..."), it received a
303 // shutdown signal, no runner took the job within 24 hours, the log limit
304 // was reached, the workflow uses a feature that is not supported yet
305 // ("not supported yet: <feature>"). At most 4 KiB. Empty otherwise.
306 Error string `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
307 // Labels are the runs-on labels of the job, evaluated. Empty while the job
308 // is not planned yet.
309 Labels []string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty"`
310 // Needs are the keys of the jobs this job needs, for drawing the graph.
311 Needs []string `protobuf:"bytes,11,rep,name=needs,proto3" json:"needs,omitempty"`
312 // RunnerId is the id of the runner that executed or is executing the job.
313 // Empty while queued, and when the runner has since been removed (runner_name
314 // and isolation are kept).
315 RunnerId string `protobuf:"bytes,12,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"`
316 // RunnerName is the name of that runner. Empty while queued.
317 RunnerName string `protobuf:"bytes,13,opt,name=runner_name,json=runnerName,proto3" json:"runner_name,omitempty"`
318 // Isolation is how that runner isolated the job. UNSPECIFIED while queued.
319 Isolation RunnerIsolation `protobuf:"varint,14,opt,name=isolation,proto3,enum=ermite.RunnerIsolation" json:"isolation,omitempty"`
320 // Steps are the steps reported so far, ordered by number, including the
321 // implicit "Set up job" and "Complete job". Empty while queued. Always
322 // set, including in JobUpdated events.
323 Steps []*Step `protobuf:"bytes,15,rep,name=steps,proto3" json:"steps,omitempty"`
324 // CreatedAt is when the job was created (planned).
325 CreatedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
326 // StartedAt is when the job was given to a runner. Unset until then.
327 StartedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
328 // CompletedAt is when the job completed. Unset until then.
329 CompletedAt *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
330 // Version counts the changes of this job on the server (status, conclusion,
331 // runner, steps, with any attempt): it grows by at least one at every change
332 // and never goes back. A client that holds two copies of a job keeps the
333 // one with the higher version and drops the other, as for Run.version.
334 Version int64 `protobuf:"varint,19,opt,name=version,proto3" json:"version,omitempty"`
335 unknownFields protoimpl.UnknownFields
336 sizeCache protoimpl.SizeCache
337}
338
339func (x *RunJob) Reset() {
340 *x = RunJob{}
341 mi := &file_ermite_run_proto_msgTypes[1]
342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
343 ms.StoreMessageInfo(mi)
344}
345
346func (x *RunJob) String() string {
347 return protoimpl.X.MessageStringOf(x)
348}
349
350func (*RunJob) ProtoMessage() {}
351
352func (x *RunJob) ProtoReflect() protoreflect.Message {
353 mi := &file_ermite_run_proto_msgTypes[1]
354 if x != nil {
355 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
356 if ms.LoadMessageInfo() == nil {
357 ms.StoreMessageInfo(mi)
358 }
359 return ms
360 }
361 return mi.MessageOf(x)
362}
363
364// Deprecated: Use RunJob.ProtoReflect.Descriptor instead.
365func (*RunJob) Descriptor() ([]byte, []int) {
366 return file_ermite_run_proto_rawDescGZIP(), []int{1}
367}
368
369func (x *RunJob) GetId() string {
370 if x != nil {
371 return x.Id
372 }
373 return ""
374}
375
376func (x *RunJob) GetRunId() int64 {
377 if x != nil {
378 return x.RunId
379 }
380 return 0
381}
382
383func (x *RunJob) GetAttempt() int32 {
384 if x != nil {
385 return x.Attempt
386 }
387 return 0
388}
389
390func (x *RunJob) GetRepo() string {
391 if x != nil {
392 return x.Repo
393 }
394 return ""
395}
396
397func (x *RunJob) GetKey() string {
398 if x != nil {
399 return x.Key
400 }
401 return ""
402}
403
404func (x *RunJob) GetName() string {
405 if x != nil {
406 return x.Name
407 }
408 return ""
409}
410
411func (x *RunJob) GetStatus() CiStatus {
412 if x != nil {
413 return x.Status
414 }
415 return CiStatus_CI_STATUS_UNSPECIFIED
416}
417
418func (x *RunJob) GetConclusion() CiConclusion {
419 if x != nil {
420 return x.Conclusion
421 }
422 return CiConclusion_CI_CONCLUSION_UNSPECIFIED
423}
424
425func (x *RunJob) GetError() string {
426 if x != nil {
427 return x.Error
428 }
429 return ""
430}
431
432func (x *RunJob) GetLabels() []string {
433 if x != nil {
434 return x.Labels
435 }
436 return nil
437}
438
439func (x *RunJob) GetNeeds() []string {
440 if x != nil {
441 return x.Needs
442 }
443 return nil
444}
445
446func (x *RunJob) GetRunnerId() string {
447 if x != nil {
448 return x.RunnerId
449 }
450 return ""
451}
452
453func (x *RunJob) GetRunnerName() string {
454 if x != nil {
455 return x.RunnerName
456 }
457 return ""
458}
459
460func (x *RunJob) GetIsolation() RunnerIsolation {
461 if x != nil {
462 return x.Isolation
463 }
464 return RunnerIsolation_RUNNER_ISOLATION_UNSPECIFIED
465}
466
467func (x *RunJob) GetSteps() []*Step {
468 if x != nil {
469 return x.Steps
470 }
471 return nil
472}
473
474func (x *RunJob) GetCreatedAt() *timestamppb.Timestamp {
475 if x != nil {
476 return x.CreatedAt
477 }
478 return nil
479}
480
481func (x *RunJob) GetStartedAt() *timestamppb.Timestamp {
482 if x != nil {
483 return x.StartedAt
484 }
485 return nil
486}
487
488func (x *RunJob) GetCompletedAt() *timestamppb.Timestamp {
489 if x != nil {
490 return x.CompletedAt
491 }
492 return nil
493}
494
495func (x *RunJob) GetVersion() int64 {
496 if x != nil {
497 return x.Version
498 }
499 return 0
500}
501
502// Step is one step of a job, with where its lines are in the job log.
503type Step struct {
504 state protoimpl.MessageState `protogen:"open.v1"`
505 // Number is the 1-based number of the step in the job, the one the runner
506 // uses in UpdateJob and AppendLog.
507 Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
508 // Name is the display name of the step.
509 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
510 // State is where the step is.
511 State StepState `protobuf:"varint,3,opt,name=state,proto3,enum=ermite.StepState" json:"state,omitempty"`
512 // Conclusion is how the step ended. Unset until state is COMPLETED.
513 Conclusion CiConclusion `protobuf:"varint,4,opt,name=conclusion,proto3,enum=ermite.CiConclusion" json:"conclusion,omitempty"`
514 // StartedAt is when the step started. Unset while PENDING.
515 StartedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
516 // CompletedAt is when the step ended. Unset until COMPLETED.
517 CompletedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
518 // LogStart is the number of the first line of the step in the job log (the
519 // offset of GetJobLogRequest and AppendLogRequest), counted from 0.
520 LogStart int64 `protobuf:"varint,7,opt,name=log_start,json=logStart,proto3" json:"log_start,omitempty"`
521 // LogEnd is the number of the line after the last one of the step. For an
522 // IN_PROGRESS step it is the number of lines held at the time of the
523 // call and grows; for a step without a line it equals log_start.
524 LogEnd int64 `protobuf:"varint,8,opt,name=log_end,json=logEnd,proto3" json:"log_end,omitempty"`
525 // Outcome is how the step ended before continue-on-error was applied, as
526 // StepUpdate.outcome: it differs from conclusion only for a failed step with
527 // continue-on-error. Unset until state is COMPLETED, and for a step stored
528 // by a server or runner before this field existed (read it as conclusion).
529 Outcome CiConclusion `protobuf:"varint,9,opt,name=outcome,proto3,enum=ermite.CiConclusion" json:"outcome,omitempty"`
530 unknownFields protoimpl.UnknownFields
531 sizeCache protoimpl.SizeCache
532}
533
534func (x *Step) Reset() {
535 *x = Step{}
536 mi := &file_ermite_run_proto_msgTypes[2]
537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
538 ms.StoreMessageInfo(mi)
539}
540
541func (x *Step) String() string {
542 return protoimpl.X.MessageStringOf(x)
543}
544
545func (*Step) ProtoMessage() {}
546
547func (x *Step) ProtoReflect() protoreflect.Message {
548 mi := &file_ermite_run_proto_msgTypes[2]
549 if x != nil {
550 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
551 if ms.LoadMessageInfo() == nil {
552 ms.StoreMessageInfo(mi)
553 }
554 return ms
555 }
556 return mi.MessageOf(x)
557}
558
559// Deprecated: Use Step.ProtoReflect.Descriptor instead.
560func (*Step) Descriptor() ([]byte, []int) {
561 return file_ermite_run_proto_rawDescGZIP(), []int{2}
562}
563
564func (x *Step) GetNumber() int32 {
565 if x != nil {
566 return x.Number
567 }
568 return 0
569}
570
571func (x *Step) GetName() string {
572 if x != nil {
573 return x.Name
574 }
575 return ""
576}
577
578func (x *Step) GetState() StepState {
579 if x != nil {
580 return x.State
581 }
582 return StepState_STEP_STATE_UNSPECIFIED
583}
584
585func (x *Step) GetConclusion() CiConclusion {
586 if x != nil {
587 return x.Conclusion
588 }
589 return CiConclusion_CI_CONCLUSION_UNSPECIFIED
590}
591
592func (x *Step) GetStartedAt() *timestamppb.Timestamp {
593 if x != nil {
594 return x.StartedAt
595 }
596 return nil
597}
598
599func (x *Step) GetCompletedAt() *timestamppb.Timestamp {
600 if x != nil {
601 return x.CompletedAt
602 }
603 return nil
604}
605
606func (x *Step) GetLogStart() int64 {
607 if x != nil {
608 return x.LogStart
609 }
610 return 0
611}
612
613func (x *Step) GetLogEnd() int64 {
614 if x != nil {
615 return x.LogEnd
616 }
617 return 0
618}
619
620func (x *Step) GetOutcome() CiConclusion {
621 if x != nil {
622 return x.Outcome
623 }
624 return CiConclusion_CI_CONCLUSION_UNSPECIFIED
625}
626
627// Check is the result of one job on one commit, the unit shown next to a
628// commit or a merge request and counted by the merge rules. There is one per
629// job instance, named like GitHub's checks.
630type Check struct {
631 state protoimpl.MessageState `protogen:"open.v1"`
632 // Id identifies the check. It is opaque and stable across attempts.
633 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
634 // Repo is the name of the repository.
635 Repo string `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"`
636 // Sha is the full id of the commit.
637 Sha string `protobuf:"bytes,3,opt,name=sha,proto3" json:"sha,omitempty"`
638 // Name is the name of the check: the RunJob.name of the job.
639 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
640 // Status is where the check is.
641 Status CiStatus `protobuf:"varint,5,opt,name=status,proto3,enum=ermite.CiStatus" json:"status,omitempty"`
642 // Conclusion is how the check ended. Unset until status is COMPLETED. The
643 // value "stale" of GitHub is never used.
644 Conclusion CiConclusion `protobuf:"varint,6,opt,name=conclusion,proto3,enum=ermite.CiConclusion" json:"conclusion,omitempty"`
645 // RunId is the run of the job.
646 RunId int64 `protobuf:"varint,7,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
647 // JobId is the RunJob.id of the job, to open its page and log.
648 JobId string `protobuf:"bytes,8,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
649 // Attempt is the attempt the check describes: the latest attempt of the run.
650 Attempt int32 `protobuf:"varint,9,opt,name=attempt,proto3" json:"attempt,omitempty"`
651 // WorkflowName is the Run.workflow_name of the run.
652 WorkflowName string `protobuf:"bytes,10,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"`
653 // StartedAt is when the job was given to a runner. Unset while queued.
654 StartedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
655 // CompletedAt is when the job completed. Unset until then.
656 CompletedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
657 unknownFields protoimpl.UnknownFields
658 sizeCache protoimpl.SizeCache
659}
660
661func (x *Check) Reset() {
662 *x = Check{}
663 mi := &file_ermite_run_proto_msgTypes[3]
664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
665 ms.StoreMessageInfo(mi)
666}
667
668func (x *Check) String() string {
669 return protoimpl.X.MessageStringOf(x)
670}
671
672func (*Check) ProtoMessage() {}
673
674func (x *Check) ProtoReflect() protoreflect.Message {
675 mi := &file_ermite_run_proto_msgTypes[3]
676 if x != nil {
677 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
678 if ms.LoadMessageInfo() == nil {
679 ms.StoreMessageInfo(mi)
680 }
681 return ms
682 }
683 return mi.MessageOf(x)
684}
685
686// Deprecated: Use Check.ProtoReflect.Descriptor instead.
687func (*Check) Descriptor() ([]byte, []int) {
688 return file_ermite_run_proto_rawDescGZIP(), []int{3}
689}
690
691func (x *Check) GetId() string {
692 if x != nil {
693 return x.Id
694 }
695 return ""
696}
697
698func (x *Check) GetRepo() string {
699 if x != nil {
700 return x.Repo
701 }
702 return ""
703}
704
705func (x *Check) GetSha() string {
706 if x != nil {
707 return x.Sha
708 }
709 return ""
710}
711
712func (x *Check) GetName() string {
713 if x != nil {
714 return x.Name
715 }
716 return ""
717}
718
719func (x *Check) GetStatus() CiStatus {
720 if x != nil {
721 return x.Status
722 }
723 return CiStatus_CI_STATUS_UNSPECIFIED
724}
725
726func (x *Check) GetConclusion() CiConclusion {
727 if x != nil {
728 return x.Conclusion
729 }
730 return CiConclusion_CI_CONCLUSION_UNSPECIFIED
731}
732
733func (x *Check) GetRunId() int64 {
734 if x != nil {
735 return x.RunId
736 }
737 return 0
738}
739
740func (x *Check) GetJobId() string {
741 if x != nil {
742 return x.JobId
743 }
744 return ""
745}
746
747func (x *Check) GetAttempt() int32 {
748 if x != nil {
749 return x.Attempt
750 }
751 return 0
752}
753
754func (x *Check) GetWorkflowName() string {
755 if x != nil {
756 return x.WorkflowName
757 }
758 return ""
759}
760
761func (x *Check) GetStartedAt() *timestamppb.Timestamp {
762 if x != nil {
763 return x.StartedAt
764 }
765 return nil
766}
767
768func (x *Check) GetCompletedAt() *timestamppb.Timestamp {
769 if x != nil {
770 return x.CompletedAt
771 }
772 return nil
773}
774
775// Runner is a registered CI runner. It never contains the runner token nor its
776// hash.
777type Runner struct {
778 state protoimpl.MessageState `protogen:"open.v1"`
779 // Id identifies the runner in RemoveRunner. It is not a secret.
780 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
781 // Name is the unique name chosen at registration.
782 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
783 // Labels are all the labels the runner can match: the ones chosen at
784 // registration plus the implicit ones ("self-hosted", the os and the arch),
785 // lowercase, sorted.
786 Labels []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"`
787 // Isolation is how the runner isolates jobs.
788 Isolation RunnerIsolation `protobuf:"varint,4,opt,name=isolation,proto3,enum=ermite.RunnerIsolation" json:"isolation,omitempty"`
789 // Version is the version of the runner software.
790 Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
791 // Arch is "x64" or "arm64".
792 Arch string `protobuf:"bytes,6,opt,name=arch,proto3" json:"arch,omitempty"`
793 // Os is "linux".
794 Os string `protobuf:"bytes,7,opt,name=os,proto3" json:"os,omitempty"`
795 // RegisteredAt is when the runner was registered.
796 RegisteredAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=registered_at,json=registeredAt,proto3" json:"registered_at,omitempty"`
797 // LastSeen is when the server last heard from the runner: a FetchJob poll or
798 // a heartbeat of one of its jobs. Unset if never. It may lag behind the real
799 // time by a short delay. A runner not seen for more than about 2 minutes is
800 // offline.
801 LastSeen *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"`
802 // Busy is true while the runner has a job in progress.
803 Busy bool `protobuf:"varint,10,opt,name=busy,proto3" json:"busy,omitempty"`
804 unknownFields protoimpl.UnknownFields
805 sizeCache protoimpl.SizeCache
806}
807
808func (x *Runner) Reset() {
809 *x = Runner{}
810 mi := &file_ermite_run_proto_msgTypes[4]
811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
812 ms.StoreMessageInfo(mi)
813}
814
815func (x *Runner) String() string {
816 return protoimpl.X.MessageStringOf(x)
817}
818
819func (*Runner) ProtoMessage() {}
820
821func (x *Runner) ProtoReflect() protoreflect.Message {
822 mi := &file_ermite_run_proto_msgTypes[4]
823 if x != nil {
824 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
825 if ms.LoadMessageInfo() == nil {
826 ms.StoreMessageInfo(mi)
827 }
828 return ms
829 }
830 return mi.MessageOf(x)
831}
832
833// Deprecated: Use Runner.ProtoReflect.Descriptor instead.
834func (*Runner) Descriptor() ([]byte, []int) {
835 return file_ermite_run_proto_rawDescGZIP(), []int{4}
836}
837
838func (x *Runner) GetId() string {
839 if x != nil {
840 return x.Id
841 }
842 return ""
843}
844
845func (x *Runner) GetName() string {
846 if x != nil {
847 return x.Name
848 }
849 return ""
850}
851
852func (x *Runner) GetLabels() []string {
853 if x != nil {
854 return x.Labels
855 }
856 return nil
857}
858
859func (x *Runner) GetIsolation() RunnerIsolation {
860 if x != nil {
861 return x.Isolation
862 }
863 return RunnerIsolation_RUNNER_ISOLATION_UNSPECIFIED
864}
865
866func (x *Runner) GetVersion() string {
867 if x != nil {
868 return x.Version
869 }
870 return ""
871}
872
873func (x *Runner) GetArch() string {
874 if x != nil {
875 return x.Arch
876 }
877 return ""
878}
879
880func (x *Runner) GetOs() string {
881 if x != nil {
882 return x.Os
883 }
884 return ""
885}
886
887func (x *Runner) GetRegisteredAt() *timestamppb.Timestamp {
888 if x != nil {
889 return x.RegisteredAt
890 }
891 return nil
892}
893
894func (x *Runner) GetLastSeen() *timestamppb.Timestamp {
895 if x != nil {
896 return x.LastSeen
897 }
898 return nil
899}
900
901func (x *Runner) GetBusy() bool {
902 if x != nil {
903 return x.Busy
904 }
905 return false
906}
907
908// ListRunsRequest selects a page of runs.
909type ListRunsRequest struct {
910 state protoimpl.MessageState `protogen:"open.v1"`
911 // Repo is the repository name.
912 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
913 // PageSize is the maximum number of runs to return.
914 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
915 // PageToken is the next_page_token of a previous response. Empty for the
916 // first page.
917 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
918 // Workflow restricts the result to one workflow file: its path
919 // (".github/workflows/ci.yml") or its file name ("ci.yml"). Empty means
920 // every workflow. Ignored by servers without "ci.runs.filters".
921 Workflow string `protobuf:"bytes,4,opt,name=workflow,proto3" json:"workflow,omitempty"`
922 // Branch restricts the result to the runs whose ref is this branch, by
923 // short name ("main"). Empty means every ref. Ignored by servers without
924 // "ci.runs.filters".
925 Branch string `protobuf:"bytes,5,opt,name=branch,proto3" json:"branch,omitempty"`
926 // Status restricts the result to the runs whose latest attempt has this
927 // status. CI_STATUS_UNSPECIFIED means every status. Ignored by servers
928 // without "ci.runs.filters".
929 Status CiStatus `protobuf:"varint,6,opt,name=status,proto3,enum=ermite.CiStatus" json:"status,omitempty"`
930 unknownFields protoimpl.UnknownFields
931 sizeCache protoimpl.SizeCache
932}
933
934func (x *ListRunsRequest) Reset() {
935 *x = ListRunsRequest{}
936 mi := &file_ermite_run_proto_msgTypes[5]
937 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
938 ms.StoreMessageInfo(mi)
939}
940
941func (x *ListRunsRequest) String() string {
942 return protoimpl.X.MessageStringOf(x)
943}
944
945func (*ListRunsRequest) ProtoMessage() {}
946
947func (x *ListRunsRequest) ProtoReflect() protoreflect.Message {
948 mi := &file_ermite_run_proto_msgTypes[5]
949 if x != nil {
950 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
951 if ms.LoadMessageInfo() == nil {
952 ms.StoreMessageInfo(mi)
953 }
954 return ms
955 }
956 return mi.MessageOf(x)
957}
958
959// Deprecated: Use ListRunsRequest.ProtoReflect.Descriptor instead.
960func (*ListRunsRequest) Descriptor() ([]byte, []int) {
961 return file_ermite_run_proto_rawDescGZIP(), []int{5}
962}
963
964func (x *ListRunsRequest) GetRepo() string {
965 if x != nil {
966 return x.Repo
967 }
968 return ""
969}
970
971func (x *ListRunsRequest) GetPageSize() int32 {
972 if x != nil {
973 return x.PageSize
974 }
975 return 0
976}
977
978func (x *ListRunsRequest) GetPageToken() string {
979 if x != nil {
980 return x.PageToken
981 }
982 return ""
983}
984
985func (x *ListRunsRequest) GetWorkflow() string {
986 if x != nil {
987 return x.Workflow
988 }
989 return ""
990}
991
992func (x *ListRunsRequest) GetBranch() string {
993 if x != nil {
994 return x.Branch
995 }
996 return ""
997}
998
999func (x *ListRunsRequest) GetStatus() CiStatus {
1000 if x != nil {
1001 return x.Status
1002 }
1003 return CiStatus_CI_STATUS_UNSPECIFIED
1004}
1005
1006// ListRunsResponse is one page of runs.
1007type ListRunsResponse struct {
1008 state protoimpl.MessageState `protogen:"open.v1"`
1009 // Runs are the runs of this page, highest id first, without jobs.
1010 Runs []*Run `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"`
1011 // NextPageToken is passed as page_token to get the next page. Empty when
1012 // there is no next page.
1013 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1014 unknownFields protoimpl.UnknownFields
1015 sizeCache protoimpl.SizeCache
1016}
1017
1018func (x *ListRunsResponse) Reset() {
1019 *x = ListRunsResponse{}
1020 mi := &file_ermite_run_proto_msgTypes[6]
1021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1022 ms.StoreMessageInfo(mi)
1023}
1024
1025func (x *ListRunsResponse) String() string {
1026 return protoimpl.X.MessageStringOf(x)
1027}
1028
1029func (*ListRunsResponse) ProtoMessage() {}
1030
1031func (x *ListRunsResponse) ProtoReflect() protoreflect.Message {
1032 mi := &file_ermite_run_proto_msgTypes[6]
1033 if x != nil {
1034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1035 if ms.LoadMessageInfo() == nil {
1036 ms.StoreMessageInfo(mi)
1037 }
1038 return ms
1039 }
1040 return mi.MessageOf(x)
1041}
1042
1043// Deprecated: Use ListRunsResponse.ProtoReflect.Descriptor instead.
1044func (*ListRunsResponse) Descriptor() ([]byte, []int) {
1045 return file_ermite_run_proto_rawDescGZIP(), []int{6}
1046}
1047
1048func (x *ListRunsResponse) GetRuns() []*Run {
1049 if x != nil {
1050 return x.Runs
1051 }
1052 return nil
1053}
1054
1055func (x *ListRunsResponse) GetNextPageToken() string {
1056 if x != nil {
1057 return x.NextPageToken
1058 }
1059 return ""
1060}
1061
1062// GetRunRequest selects a run.
1063type GetRunRequest struct {
1064 state protoimpl.MessageState `protogen:"open.v1"`
1065 // Repo is the repository name.
1066 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1067 // RunId is the Run.id.
1068 RunId int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
1069 // Attempt is the attempt to read. 0 means the latest.
1070 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
1071 unknownFields protoimpl.UnknownFields
1072 sizeCache protoimpl.SizeCache
1073}
1074
1075func (x *GetRunRequest) Reset() {
1076 *x = GetRunRequest{}
1077 mi := &file_ermite_run_proto_msgTypes[7]
1078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1079 ms.StoreMessageInfo(mi)
1080}
1081
1082func (x *GetRunRequest) String() string {
1083 return protoimpl.X.MessageStringOf(x)
1084}
1085
1086func (*GetRunRequest) ProtoMessage() {}
1087
1088func (x *GetRunRequest) ProtoReflect() protoreflect.Message {
1089 mi := &file_ermite_run_proto_msgTypes[7]
1090 if x != nil {
1091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1092 if ms.LoadMessageInfo() == nil {
1093 ms.StoreMessageInfo(mi)
1094 }
1095 return ms
1096 }
1097 return mi.MessageOf(x)
1098}
1099
1100// Deprecated: Use GetRunRequest.ProtoReflect.Descriptor instead.
1101func (*GetRunRequest) Descriptor() ([]byte, []int) {
1102 return file_ermite_run_proto_rawDescGZIP(), []int{7}
1103}
1104
1105func (x *GetRunRequest) GetRepo() string {
1106 if x != nil {
1107 return x.Repo
1108 }
1109 return ""
1110}
1111
1112func (x *GetRunRequest) GetRunId() int64 {
1113 if x != nil {
1114 return x.RunId
1115 }
1116 return 0
1117}
1118
1119func (x *GetRunRequest) GetAttempt() int32 {
1120 if x != nil {
1121 return x.Attempt
1122 }
1123 return 0
1124}
1125
1126// GetRunResponse holds a run with its jobs.
1127type GetRunResponse struct {
1128 state protoimpl.MessageState `protogen:"open.v1"`
1129 // Run is the run, as of the attempt asked.
1130 Run *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
1131 // Jobs are the jobs of that attempt, with their steps, in the order of the
1132 // workflow file (matrix instances in the order of the matrix). Jobs kept from
1133 // an earlier attempt by a re-run of failed jobs are included, with their own
1134 // RunJob.attempt. Empty for a run that failed on an invalid workflow file.
1135 Jobs []*RunJob `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"`
1136 // LatestAttempt is the latest attempt of the run, to offer the other ones.
1137 LatestAttempt int32 `protobuf:"varint,3,opt,name=latest_attempt,json=latestAttempt,proto3" json:"latest_attempt,omitempty"`
1138 unknownFields protoimpl.UnknownFields
1139 sizeCache protoimpl.SizeCache
1140}
1141
1142func (x *GetRunResponse) Reset() {
1143 *x = GetRunResponse{}
1144 mi := &file_ermite_run_proto_msgTypes[8]
1145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1146 ms.StoreMessageInfo(mi)
1147}
1148
1149func (x *GetRunResponse) String() string {
1150 return protoimpl.X.MessageStringOf(x)
1151}
1152
1153func (*GetRunResponse) ProtoMessage() {}
1154
1155func (x *GetRunResponse) ProtoReflect() protoreflect.Message {
1156 mi := &file_ermite_run_proto_msgTypes[8]
1157 if x != nil {
1158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1159 if ms.LoadMessageInfo() == nil {
1160 ms.StoreMessageInfo(mi)
1161 }
1162 return ms
1163 }
1164 return mi.MessageOf(x)
1165}
1166
1167// Deprecated: Use GetRunResponse.ProtoReflect.Descriptor instead.
1168func (*GetRunResponse) Descriptor() ([]byte, []int) {
1169 return file_ermite_run_proto_rawDescGZIP(), []int{8}
1170}
1171
1172func (x *GetRunResponse) GetRun() *Run {
1173 if x != nil {
1174 return x.Run
1175 }
1176 return nil
1177}
1178
1179func (x *GetRunResponse) GetJobs() []*RunJob {
1180 if x != nil {
1181 return x.Jobs
1182 }
1183 return nil
1184}
1185
1186func (x *GetRunResponse) GetLatestAttempt() int32 {
1187 if x != nil {
1188 return x.LatestAttempt
1189 }
1190 return 0
1191}
1192
1193// GetJobRequest selects a job.
1194type GetJobRequest struct {
1195 state protoimpl.MessageState `protogen:"open.v1"`
1196 // Repo is the repository name.
1197 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1198 // JobId is the RunJob.id.
1199 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1200 // Attempt is the RunJob.attempt to read. 0 means the latest.
1201 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
1202 unknownFields protoimpl.UnknownFields
1203 sizeCache protoimpl.SizeCache
1204}
1205
1206func (x *GetJobRequest) Reset() {
1207 *x = GetJobRequest{}
1208 mi := &file_ermite_run_proto_msgTypes[9]
1209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1210 ms.StoreMessageInfo(mi)
1211}
1212
1213func (x *GetJobRequest) String() string {
1214 return protoimpl.X.MessageStringOf(x)
1215}
1216
1217func (*GetJobRequest) ProtoMessage() {}
1218
1219func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
1220 mi := &file_ermite_run_proto_msgTypes[9]
1221 if x != nil {
1222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1223 if ms.LoadMessageInfo() == nil {
1224 ms.StoreMessageInfo(mi)
1225 }
1226 return ms
1227 }
1228 return mi.MessageOf(x)
1229}
1230
1231// Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
1232func (*GetJobRequest) Descriptor() ([]byte, []int) {
1233 return file_ermite_run_proto_rawDescGZIP(), []int{9}
1234}
1235
1236func (x *GetJobRequest) GetRepo() string {
1237 if x != nil {
1238 return x.Repo
1239 }
1240 return ""
1241}
1242
1243func (x *GetJobRequest) GetJobId() string {
1244 if x != nil {
1245 return x.JobId
1246 }
1247 return ""
1248}
1249
1250func (x *GetJobRequest) GetAttempt() int32 {
1251 if x != nil {
1252 return x.Attempt
1253 }
1254 return 0
1255}
1256
1257// GetJobResponse holds a job.
1258type GetJobResponse struct {
1259 state protoimpl.MessageState `protogen:"open.v1"`
1260 // Job is the job with its steps.
1261 Job *RunJob `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1262 unknownFields protoimpl.UnknownFields
1263 sizeCache protoimpl.SizeCache
1264}
1265
1266func (x *GetJobResponse) Reset() {
1267 *x = GetJobResponse{}
1268 mi := &file_ermite_run_proto_msgTypes[10]
1269 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1270 ms.StoreMessageInfo(mi)
1271}
1272
1273func (x *GetJobResponse) String() string {
1274 return protoimpl.X.MessageStringOf(x)
1275}
1276
1277func (*GetJobResponse) ProtoMessage() {}
1278
1279func (x *GetJobResponse) ProtoReflect() protoreflect.Message {
1280 mi := &file_ermite_run_proto_msgTypes[10]
1281 if x != nil {
1282 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1283 if ms.LoadMessageInfo() == nil {
1284 ms.StoreMessageInfo(mi)
1285 }
1286 return ms
1287 }
1288 return mi.MessageOf(x)
1289}
1290
1291// Deprecated: Use GetJobResponse.ProtoReflect.Descriptor instead.
1292func (*GetJobResponse) Descriptor() ([]byte, []int) {
1293 return file_ermite_run_proto_rawDescGZIP(), []int{10}
1294}
1295
1296func (x *GetJobResponse) GetJob() *RunJob {
1297 if x != nil {
1298 return x.Job
1299 }
1300 return nil
1301}
1302
1303// ListAnnotationsRequest selects the annotations of a run.
1304type ListAnnotationsRequest struct {
1305 state protoimpl.MessageState `protogen:"open.v1"`
1306 // Repo is the repository name.
1307 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1308 // RunId is the Run.id.
1309 RunId int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
1310 // Attempt is the attempt to read. 0 means the latest, and then each job
1311 // contributes the annotations of its own RunJob.attempt (not necessarily the
1312 // latest attempt of the run, see ListAnnotations).
1313 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
1314 // JobId restricts the result to one job (RunJob.id). Empty means every job
1315 // of the run.
1316 JobId string `protobuf:"bytes,4,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1317 unknownFields protoimpl.UnknownFields
1318 sizeCache protoimpl.SizeCache
1319}
1320
1321func (x *ListAnnotationsRequest) Reset() {
1322 *x = ListAnnotationsRequest{}
1323 mi := &file_ermite_run_proto_msgTypes[11]
1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1325 ms.StoreMessageInfo(mi)
1326}
1327
1328func (x *ListAnnotationsRequest) String() string {
1329 return protoimpl.X.MessageStringOf(x)
1330}
1331
1332func (*ListAnnotationsRequest) ProtoMessage() {}
1333
1334func (x *ListAnnotationsRequest) ProtoReflect() protoreflect.Message {
1335 mi := &file_ermite_run_proto_msgTypes[11]
1336 if x != nil {
1337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338 if ms.LoadMessageInfo() == nil {
1339 ms.StoreMessageInfo(mi)
1340 }
1341 return ms
1342 }
1343 return mi.MessageOf(x)
1344}
1345
1346// Deprecated: Use ListAnnotationsRequest.ProtoReflect.Descriptor instead.
1347func (*ListAnnotationsRequest) Descriptor() ([]byte, []int) {
1348 return file_ermite_run_proto_rawDescGZIP(), []int{11}
1349}
1350
1351func (x *ListAnnotationsRequest) GetRepo() string {
1352 if x != nil {
1353 return x.Repo
1354 }
1355 return ""
1356}
1357
1358func (x *ListAnnotationsRequest) GetRunId() int64 {
1359 if x != nil {
1360 return x.RunId
1361 }
1362 return 0
1363}
1364
1365func (x *ListAnnotationsRequest) GetAttempt() int32 {
1366 if x != nil {
1367 return x.Attempt
1368 }
1369 return 0
1370}
1371
1372func (x *ListAnnotationsRequest) GetJobId() string {
1373 if x != nil {
1374 return x.JobId
1375 }
1376 return ""
1377}
1378
1379// ListAnnotationsResponse holds the annotations of a run.
1380type ListAnnotationsResponse struct {
1381 state protoimpl.MessageState `protogen:"open.v1"`
1382 // Annotations are the annotations, at most 1,000.
1383 Annotations []*JobAnnotation `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"`
1384 // Truncated is true when there are more annotations than annotations holds.
1385 Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"`
1386 unknownFields protoimpl.UnknownFields
1387 sizeCache protoimpl.SizeCache
1388}
1389
1390func (x *ListAnnotationsResponse) Reset() {
1391 *x = ListAnnotationsResponse{}
1392 mi := &file_ermite_run_proto_msgTypes[12]
1393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1394 ms.StoreMessageInfo(mi)
1395}
1396
1397func (x *ListAnnotationsResponse) String() string {
1398 return protoimpl.X.MessageStringOf(x)
1399}
1400
1401func (*ListAnnotationsResponse) ProtoMessage() {}
1402
1403func (x *ListAnnotationsResponse) ProtoReflect() protoreflect.Message {
1404 mi := &file_ermite_run_proto_msgTypes[12]
1405 if x != nil {
1406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407 if ms.LoadMessageInfo() == nil {
1408 ms.StoreMessageInfo(mi)
1409 }
1410 return ms
1411 }
1412 return mi.MessageOf(x)
1413}
1414
1415// Deprecated: Use ListAnnotationsResponse.ProtoReflect.Descriptor instead.
1416func (*ListAnnotationsResponse) Descriptor() ([]byte, []int) {
1417 return file_ermite_run_proto_rawDescGZIP(), []int{12}
1418}
1419
1420func (x *ListAnnotationsResponse) GetAnnotations() []*JobAnnotation {
1421 if x != nil {
1422 return x.Annotations
1423 }
1424 return nil
1425}
1426
1427func (x *ListAnnotationsResponse) GetTruncated() bool {
1428 if x != nil {
1429 return x.Truncated
1430 }
1431 return false
1432}
1433
1434// JobAnnotation is an annotation with the job it belongs to.
1435type JobAnnotation struct {
1436 state protoimpl.MessageState `protogen:"open.v1"`
1437 // JobId is the RunJob.id of the job.
1438 JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1439 // Annotation is the annotation as the runner sent it, after the server
1440 // checked it. Its step_number is the step of the job.
1441 Annotation *Annotation `protobuf:"bytes,2,opt,name=annotation,proto3" json:"annotation,omitempty"`
1442 unknownFields protoimpl.UnknownFields
1443 sizeCache protoimpl.SizeCache
1444}
1445
1446func (x *JobAnnotation) Reset() {
1447 *x = JobAnnotation{}
1448 mi := &file_ermite_run_proto_msgTypes[13]
1449 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1450 ms.StoreMessageInfo(mi)
1451}
1452
1453func (x *JobAnnotation) String() string {
1454 return protoimpl.X.MessageStringOf(x)
1455}
1456
1457func (*JobAnnotation) ProtoMessage() {}
1458
1459func (x *JobAnnotation) ProtoReflect() protoreflect.Message {
1460 mi := &file_ermite_run_proto_msgTypes[13]
1461 if x != nil {
1462 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1463 if ms.LoadMessageInfo() == nil {
1464 ms.StoreMessageInfo(mi)
1465 }
1466 return ms
1467 }
1468 return mi.MessageOf(x)
1469}
1470
1471// Deprecated: Use JobAnnotation.ProtoReflect.Descriptor instead.
1472func (*JobAnnotation) Descriptor() ([]byte, []int) {
1473 return file_ermite_run_proto_rawDescGZIP(), []int{13}
1474}
1475
1476func (x *JobAnnotation) GetJobId() string {
1477 if x != nil {
1478 return x.JobId
1479 }
1480 return ""
1481}
1482
1483func (x *JobAnnotation) GetAnnotation() *Annotation {
1484 if x != nil {
1485 return x.Annotation
1486 }
1487 return nil
1488}
1489
1490// GetStepSummariesRequest selects a job.
1491type GetStepSummariesRequest struct {
1492 state protoimpl.MessageState `protogen:"open.v1"`
1493 // Repo is the repository name.
1494 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1495 // JobId is the RunJob.id.
1496 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1497 // Attempt is the RunJob.attempt to read. 0 means the latest.
1498 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
1499 unknownFields protoimpl.UnknownFields
1500 sizeCache protoimpl.SizeCache
1501}
1502
1503func (x *GetStepSummariesRequest) Reset() {
1504 *x = GetStepSummariesRequest{}
1505 mi := &file_ermite_run_proto_msgTypes[14]
1506 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1507 ms.StoreMessageInfo(mi)
1508}
1509
1510func (x *GetStepSummariesRequest) String() string {
1511 return protoimpl.X.MessageStringOf(x)
1512}
1513
1514func (*GetStepSummariesRequest) ProtoMessage() {}
1515
1516func (x *GetStepSummariesRequest) ProtoReflect() protoreflect.Message {
1517 mi := &file_ermite_run_proto_msgTypes[14]
1518 if x != nil {
1519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1520 if ms.LoadMessageInfo() == nil {
1521 ms.StoreMessageInfo(mi)
1522 }
1523 return ms
1524 }
1525 return mi.MessageOf(x)
1526}
1527
1528// Deprecated: Use GetStepSummariesRequest.ProtoReflect.Descriptor instead.
1529func (*GetStepSummariesRequest) Descriptor() ([]byte, []int) {
1530 return file_ermite_run_proto_rawDescGZIP(), []int{14}
1531}
1532
1533func (x *GetStepSummariesRequest) GetRepo() string {
1534 if x != nil {
1535 return x.Repo
1536 }
1537 return ""
1538}
1539
1540func (x *GetStepSummariesRequest) GetJobId() string {
1541 if x != nil {
1542 return x.JobId
1543 }
1544 return ""
1545}
1546
1547func (x *GetStepSummariesRequest) GetAttempt() int32 {
1548 if x != nil {
1549 return x.Attempt
1550 }
1551 return 0
1552}
1553
1554// GetStepSummariesResponse holds the summaries of a job.
1555type GetStepSummariesResponse struct {
1556 state protoimpl.MessageState `protogen:"open.v1"`
1557 // Summaries are the summaries of the steps that have one, ordered by step
1558 // number: at most 20, the first 20 steps having one.
1559 Summaries []*StepSummary `protobuf:"bytes,1,rep,name=summaries,proto3" json:"summaries,omitempty"`
1560 // Truncated is true when the job has more than 20 steps with a summary and
1561 // summaries holds only the first 20.
1562 Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"`
1563 unknownFields protoimpl.UnknownFields
1564 sizeCache protoimpl.SizeCache
1565}
1566
1567func (x *GetStepSummariesResponse) Reset() {
1568 *x = GetStepSummariesResponse{}
1569 mi := &file_ermite_run_proto_msgTypes[15]
1570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1571 ms.StoreMessageInfo(mi)
1572}
1573
1574func (x *GetStepSummariesResponse) String() string {
1575 return protoimpl.X.MessageStringOf(x)
1576}
1577
1578func (*GetStepSummariesResponse) ProtoMessage() {}
1579
1580func (x *GetStepSummariesResponse) ProtoReflect() protoreflect.Message {
1581 mi := &file_ermite_run_proto_msgTypes[15]
1582 if x != nil {
1583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1584 if ms.LoadMessageInfo() == nil {
1585 ms.StoreMessageInfo(mi)
1586 }
1587 return ms
1588 }
1589 return mi.MessageOf(x)
1590}
1591
1592// Deprecated: Use GetStepSummariesResponse.ProtoReflect.Descriptor instead.
1593func (*GetStepSummariesResponse) Descriptor() ([]byte, []int) {
1594 return file_ermite_run_proto_rawDescGZIP(), []int{15}
1595}
1596
1597func (x *GetStepSummariesResponse) GetSummaries() []*StepSummary {
1598 if x != nil {
1599 return x.Summaries
1600 }
1601 return nil
1602}
1603
1604func (x *GetStepSummariesResponse) GetTruncated() bool {
1605 if x != nil {
1606 return x.Truncated
1607 }
1608 return false
1609}
1610
1611// StepSummary is the job summary of one step.
1612type StepSummary struct {
1613 state protoimpl.MessageState `protogen:"open.v1"`
1614 // StepNumber is the number of the step (see Step.number).
1615 StepNumber int32 `protobuf:"varint,1,opt,name=step_number,json=stepNumber,proto3" json:"step_number,omitempty"`
1616 // Markdown is the summary as uploaded, at most 1 MiB. Clients render it
1617 // safely: it is untrusted content (raw HTML and script URLs must not run).
1618 Markdown string `protobuf:"bytes,2,opt,name=markdown,proto3" json:"markdown,omitempty"`
1619 unknownFields protoimpl.UnknownFields
1620 sizeCache protoimpl.SizeCache
1621}
1622
1623func (x *StepSummary) Reset() {
1624 *x = StepSummary{}
1625 mi := &file_ermite_run_proto_msgTypes[16]
1626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1627 ms.StoreMessageInfo(mi)
1628}
1629
1630func (x *StepSummary) String() string {
1631 return protoimpl.X.MessageStringOf(x)
1632}
1633
1634func (*StepSummary) ProtoMessage() {}
1635
1636func (x *StepSummary) ProtoReflect() protoreflect.Message {
1637 mi := &file_ermite_run_proto_msgTypes[16]
1638 if x != nil {
1639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1640 if ms.LoadMessageInfo() == nil {
1641 ms.StoreMessageInfo(mi)
1642 }
1643 return ms
1644 }
1645 return mi.MessageOf(x)
1646}
1647
1648// Deprecated: Use StepSummary.ProtoReflect.Descriptor instead.
1649func (*StepSummary) Descriptor() ([]byte, []int) {
1650 return file_ermite_run_proto_rawDescGZIP(), []int{16}
1651}
1652
1653func (x *StepSummary) GetStepNumber() int32 {
1654 if x != nil {
1655 return x.StepNumber
1656 }
1657 return 0
1658}
1659
1660func (x *StepSummary) GetMarkdown() string {
1661 if x != nil {
1662 return x.Markdown
1663 }
1664 return ""
1665}
1666
1667// GetJobLogRequest selects the lines to stream.
1668type GetJobLogRequest struct {
1669 state protoimpl.MessageState `protogen:"open.v1"`
1670 // Repo is the repository name.
1671 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1672 // JobId is the RunJob.id.
1673 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
1674 // Attempt is the RunJob.attempt whose log to read. 0 means the latest.
1675 Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"`
1676 // Offset is the number of the first line to send, counted from 0 across all
1677 // steps (see Step.log_start). Negative is invalid_argument.
1678 Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
1679 // Follow keeps the stream open while the job runs. See GetJobLog.
1680 Follow bool `protobuf:"varint,5,opt,name=follow,proto3" json:"follow,omitempty"`
1681 unknownFields protoimpl.UnknownFields
1682 sizeCache protoimpl.SizeCache
1683}
1684
1685func (x *GetJobLogRequest) Reset() {
1686 *x = GetJobLogRequest{}
1687 mi := &file_ermite_run_proto_msgTypes[17]
1688 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1689 ms.StoreMessageInfo(mi)
1690}
1691
1692func (x *GetJobLogRequest) String() string {
1693 return protoimpl.X.MessageStringOf(x)
1694}
1695
1696func (*GetJobLogRequest) ProtoMessage() {}
1697
1698func (x *GetJobLogRequest) ProtoReflect() protoreflect.Message {
1699 mi := &file_ermite_run_proto_msgTypes[17]
1700 if x != nil {
1701 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1702 if ms.LoadMessageInfo() == nil {
1703 ms.StoreMessageInfo(mi)
1704 }
1705 return ms
1706 }
1707 return mi.MessageOf(x)
1708}
1709
1710// Deprecated: Use GetJobLogRequest.ProtoReflect.Descriptor instead.
1711func (*GetJobLogRequest) Descriptor() ([]byte, []int) {
1712 return file_ermite_run_proto_rawDescGZIP(), []int{17}
1713}
1714
1715func (x *GetJobLogRequest) GetRepo() string {
1716 if x != nil {
1717 return x.Repo
1718 }
1719 return ""
1720}
1721
1722func (x *GetJobLogRequest) GetJobId() string {
1723 if x != nil {
1724 return x.JobId
1725 }
1726 return ""
1727}
1728
1729func (x *GetJobLogRequest) GetAttempt() int32 {
1730 if x != nil {
1731 return x.Attempt
1732 }
1733 return 0
1734}
1735
1736func (x *GetJobLogRequest) GetOffset() int64 {
1737 if x != nil {
1738 return x.Offset
1739 }
1740 return 0
1741}
1742
1743func (x *GetJobLogRequest) GetFollow() bool {
1744 if x != nil {
1745 return x.Follow
1746 }
1747 return false
1748}
1749
1750// GetJobLogResponse is one message of the log stream.
1751type GetJobLogResponse struct {
1752 state protoimpl.MessageState `protogen:"open.v1"`
1753 // Offset is the number of the first line of lines.
1754 Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
1755 // Lines are consecutive lines of the log, at most 1,000, at most 64 KiB of
1756 // text in total. Never empty.
1757 Lines []*JobLogLine `protobuf:"bytes,2,rep,name=lines,proto3" json:"lines,omitempty"`
1758 unknownFields protoimpl.UnknownFields
1759 sizeCache protoimpl.SizeCache
1760}
1761
1762func (x *GetJobLogResponse) Reset() {
1763 *x = GetJobLogResponse{}
1764 mi := &file_ermite_run_proto_msgTypes[18]
1765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1766 ms.StoreMessageInfo(mi)
1767}
1768
1769func (x *GetJobLogResponse) String() string {
1770 return protoimpl.X.MessageStringOf(x)
1771}
1772
1773func (*GetJobLogResponse) ProtoMessage() {}
1774
1775func (x *GetJobLogResponse) ProtoReflect() protoreflect.Message {
1776 mi := &file_ermite_run_proto_msgTypes[18]
1777 if x != nil {
1778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1779 if ms.LoadMessageInfo() == nil {
1780 ms.StoreMessageInfo(mi)
1781 }
1782 return ms
1783 }
1784 return mi.MessageOf(x)
1785}
1786
1787// Deprecated: Use GetJobLogResponse.ProtoReflect.Descriptor instead.
1788func (*GetJobLogResponse) Descriptor() ([]byte, []int) {
1789 return file_ermite_run_proto_rawDescGZIP(), []int{18}
1790}
1791
1792func (x *GetJobLogResponse) GetOffset() int64 {
1793 if x != nil {
1794 return x.Offset
1795 }
1796 return 0
1797}
1798
1799func (x *GetJobLogResponse) GetLines() []*JobLogLine {
1800 if x != nil {
1801 return x.Lines
1802 }
1803 return nil
1804}
1805
1806// JobLogLine is one line of a job log, as the runner sent it.
1807type JobLogLine struct {
1808 state protoimpl.MessageState `protogen:"open.v1"`
1809 // Step is the number of the step the line belongs to.
1810 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1811 // Time is when the runner produced the line, with nanosecond precision.
1812 Time *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
1813 // Text is the line without its terminator, as in LogLine.text, including the
1814 // "##[group]" and "##[endgroup]" markers. Clients show it escaped.
1815 Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
1816 // Continued is true when the line continues the line before it, which was
1817 // too long for the runner to send whole (see LogLine.continued). Pieces keep
1818 // their own line numbers, so offsets are the same as the runner's; a client
1819 // that shows lines joins a continued line to the previous one. The raw log
1820 // file already has them joined.
1821 Continued bool `protobuf:"varint,4,opt,name=continued,proto3" json:"continued,omitempty"`
1822 unknownFields protoimpl.UnknownFields
1823 sizeCache protoimpl.SizeCache
1824}
1825
1826func (x *JobLogLine) Reset() {
1827 *x = JobLogLine{}
1828 mi := &file_ermite_run_proto_msgTypes[19]
1829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1830 ms.StoreMessageInfo(mi)
1831}
1832
1833func (x *JobLogLine) String() string {
1834 return protoimpl.X.MessageStringOf(x)
1835}
1836
1837func (*JobLogLine) ProtoMessage() {}
1838
1839func (x *JobLogLine) ProtoReflect() protoreflect.Message {
1840 mi := &file_ermite_run_proto_msgTypes[19]
1841 if x != nil {
1842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1843 if ms.LoadMessageInfo() == nil {
1844 ms.StoreMessageInfo(mi)
1845 }
1846 return ms
1847 }
1848 return mi.MessageOf(x)
1849}
1850
1851// Deprecated: Use JobLogLine.ProtoReflect.Descriptor instead.
1852func (*JobLogLine) Descriptor() ([]byte, []int) {
1853 return file_ermite_run_proto_rawDescGZIP(), []int{19}
1854}
1855
1856func (x *JobLogLine) GetStep() int32 {
1857 if x != nil {
1858 return x.Step
1859 }
1860 return 0
1861}
1862
1863func (x *JobLogLine) GetTime() *timestamppb.Timestamp {
1864 if x != nil {
1865 return x.Time
1866 }
1867 return nil
1868}
1869
1870func (x *JobLogLine) GetText() string {
1871 if x != nil {
1872 return x.Text
1873 }
1874 return ""
1875}
1876
1877func (x *JobLogLine) GetContinued() bool {
1878 if x != nil {
1879 return x.Continued
1880 }
1881 return false
1882}
1883
1884// CancelRunRequest names the run to cancel.
1885type CancelRunRequest struct {
1886 state protoimpl.MessageState `protogen:"open.v1"`
1887 // Repo is the repository name.
1888 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1889 // RunId is the Run.id.
1890 RunId int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
1891 unknownFields protoimpl.UnknownFields
1892 sizeCache protoimpl.SizeCache
1893}
1894
1895func (x *CancelRunRequest) Reset() {
1896 *x = CancelRunRequest{}
1897 mi := &file_ermite_run_proto_msgTypes[20]
1898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1899 ms.StoreMessageInfo(mi)
1900}
1901
1902func (x *CancelRunRequest) String() string {
1903 return protoimpl.X.MessageStringOf(x)
1904}
1905
1906func (*CancelRunRequest) ProtoMessage() {}
1907
1908func (x *CancelRunRequest) ProtoReflect() protoreflect.Message {
1909 mi := &file_ermite_run_proto_msgTypes[20]
1910 if x != nil {
1911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1912 if ms.LoadMessageInfo() == nil {
1913 ms.StoreMessageInfo(mi)
1914 }
1915 return ms
1916 }
1917 return mi.MessageOf(x)
1918}
1919
1920// Deprecated: Use CancelRunRequest.ProtoReflect.Descriptor instead.
1921func (*CancelRunRequest) Descriptor() ([]byte, []int) {
1922 return file_ermite_run_proto_rawDescGZIP(), []int{20}
1923}
1924
1925func (x *CancelRunRequest) GetRepo() string {
1926 if x != nil {
1927 return x.Repo
1928 }
1929 return ""
1930}
1931
1932func (x *CancelRunRequest) GetRunId() int64 {
1933 if x != nil {
1934 return x.RunId
1935 }
1936 return 0
1937}
1938
1939// CancelRunResponse holds the run after the request.
1940type CancelRunResponse struct {
1941 state protoimpl.MessageState `protogen:"open.v1"`
1942 // Run is the latest attempt of the run.
1943 Run *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
1944 unknownFields protoimpl.UnknownFields
1945 sizeCache protoimpl.SizeCache
1946}
1947
1948func (x *CancelRunResponse) Reset() {
1949 *x = CancelRunResponse{}
1950 mi := &file_ermite_run_proto_msgTypes[21]
1951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1952 ms.StoreMessageInfo(mi)
1953}
1954
1955func (x *CancelRunResponse) String() string {
1956 return protoimpl.X.MessageStringOf(x)
1957}
1958
1959func (*CancelRunResponse) ProtoMessage() {}
1960
1961func (x *CancelRunResponse) ProtoReflect() protoreflect.Message {
1962 mi := &file_ermite_run_proto_msgTypes[21]
1963 if x != nil {
1964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1965 if ms.LoadMessageInfo() == nil {
1966 ms.StoreMessageInfo(mi)
1967 }
1968 return ms
1969 }
1970 return mi.MessageOf(x)
1971}
1972
1973// Deprecated: Use CancelRunResponse.ProtoReflect.Descriptor instead.
1974func (*CancelRunResponse) Descriptor() ([]byte, []int) {
1975 return file_ermite_run_proto_rawDescGZIP(), []int{21}
1976}
1977
1978func (x *CancelRunResponse) GetRun() *Run {
1979 if x != nil {
1980 return x.Run
1981 }
1982 return nil
1983}
1984
1985// RerunRunRequest names the run to run again.
1986type RerunRunRequest struct {
1987 state protoimpl.MessageState `protogen:"open.v1"`
1988 // Repo is the repository name.
1989 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1990 // RunId is the Run.id.
1991 RunId int64 `protobuf:"varint,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
1992 // FailedOnly runs again only the jobs of the latest attempt that did not
1993 // succeed (conclusion FAILURE, CANCELLED, TIMED_OUT or ACTION_REQUIRED) and
1994 // the jobs that need them, directly or not, even if they were skipped. The
1995 // other jobs keep their result, steps and log from the earlier attempt. When
1996 // false, every job runs again.
1997 FailedOnly bool `protobuf:"varint,3,opt,name=failed_only,json=failedOnly,proto3" json:"failed_only,omitempty"`
1998 unknownFields protoimpl.UnknownFields
1999 sizeCache protoimpl.SizeCache
2000}
2001
2002func (x *RerunRunRequest) Reset() {
2003 *x = RerunRunRequest{}
2004 mi := &file_ermite_run_proto_msgTypes[22]
2005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2006 ms.StoreMessageInfo(mi)
2007}
2008
2009func (x *RerunRunRequest) String() string {
2010 return protoimpl.X.MessageStringOf(x)
2011}
2012
2013func (*RerunRunRequest) ProtoMessage() {}
2014
2015func (x *RerunRunRequest) ProtoReflect() protoreflect.Message {
2016 mi := &file_ermite_run_proto_msgTypes[22]
2017 if x != nil {
2018 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2019 if ms.LoadMessageInfo() == nil {
2020 ms.StoreMessageInfo(mi)
2021 }
2022 return ms
2023 }
2024 return mi.MessageOf(x)
2025}
2026
2027// Deprecated: Use RerunRunRequest.ProtoReflect.Descriptor instead.
2028func (*RerunRunRequest) Descriptor() ([]byte, []int) {
2029 return file_ermite_run_proto_rawDescGZIP(), []int{22}
2030}
2031
2032func (x *RerunRunRequest) GetRepo() string {
2033 if x != nil {
2034 return x.Repo
2035 }
2036 return ""
2037}
2038
2039func (x *RerunRunRequest) GetRunId() int64 {
2040 if x != nil {
2041 return x.RunId
2042 }
2043 return 0
2044}
2045
2046func (x *RerunRunRequest) GetFailedOnly() bool {
2047 if x != nil {
2048 return x.FailedOnly
2049 }
2050 return false
2051}
2052
2053// RerunRunResponse holds the new attempt.
2054type RerunRunResponse struct {
2055 state protoimpl.MessageState `protogen:"open.v1"`
2056 // Run is the run as of the new attempt, QUEUED.
2057 Run *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
2058 unknownFields protoimpl.UnknownFields
2059 sizeCache protoimpl.SizeCache
2060}
2061
2062func (x *RerunRunResponse) Reset() {
2063 *x = RerunRunResponse{}
2064 mi := &file_ermite_run_proto_msgTypes[23]
2065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2066 ms.StoreMessageInfo(mi)
2067}
2068
2069func (x *RerunRunResponse) String() string {
2070 return protoimpl.X.MessageStringOf(x)
2071}
2072
2073func (*RerunRunResponse) ProtoMessage() {}
2074
2075func (x *RerunRunResponse) ProtoReflect() protoreflect.Message {
2076 mi := &file_ermite_run_proto_msgTypes[23]
2077 if x != nil {
2078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2079 if ms.LoadMessageInfo() == nil {
2080 ms.StoreMessageInfo(mi)
2081 }
2082 return ms
2083 }
2084 return mi.MessageOf(x)
2085}
2086
2087// Deprecated: Use RerunRunResponse.ProtoReflect.Descriptor instead.
2088func (*RerunRunResponse) Descriptor() ([]byte, []int) {
2089 return file_ermite_run_proto_rawDescGZIP(), []int{23}
2090}
2091
2092func (x *RerunRunResponse) GetRun() *Run {
2093 if x != nil {
2094 return x.Run
2095 }
2096 return nil
2097}
2098
2099// ListChecksRequest names the commit.
2100type ListChecksRequest struct {
2101 state protoimpl.MessageState `protogen:"open.v1"`
2102 // Repo is the repository name.
2103 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2104 // Sha is the full commit id (40 lowercase hexadecimal characters for SHA-1).
2105 // Abbreviations and names are invalid_argument.
2106 Sha string `protobuf:"bytes,2,opt,name=sha,proto3" json:"sha,omitempty"`
2107 unknownFields protoimpl.UnknownFields
2108 sizeCache protoimpl.SizeCache
2109}
2110
2111func (x *ListChecksRequest) Reset() {
2112 *x = ListChecksRequest{}
2113 mi := &file_ermite_run_proto_msgTypes[24]
2114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2115 ms.StoreMessageInfo(mi)
2116}
2117
2118func (x *ListChecksRequest) String() string {
2119 return protoimpl.X.MessageStringOf(x)
2120}
2121
2122func (*ListChecksRequest) ProtoMessage() {}
2123
2124func (x *ListChecksRequest) ProtoReflect() protoreflect.Message {
2125 mi := &file_ermite_run_proto_msgTypes[24]
2126 if x != nil {
2127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2128 if ms.LoadMessageInfo() == nil {
2129 ms.StoreMessageInfo(mi)
2130 }
2131 return ms
2132 }
2133 return mi.MessageOf(x)
2134}
2135
2136// Deprecated: Use ListChecksRequest.ProtoReflect.Descriptor instead.
2137func (*ListChecksRequest) Descriptor() ([]byte, []int) {
2138 return file_ermite_run_proto_rawDescGZIP(), []int{24}
2139}
2140
2141func (x *ListChecksRequest) GetRepo() string {
2142 if x != nil {
2143 return x.Repo
2144 }
2145 return ""
2146}
2147
2148func (x *ListChecksRequest) GetSha() string {
2149 if x != nil {
2150 return x.Sha
2151 }
2152 return ""
2153}
2154
2155// ListChecksResponse holds the checks of a commit.
2156type ListChecksResponse struct {
2157 state protoimpl.MessageState `protogen:"open.v1"`
2158 // Checks are the checks of the commit, one per job of the latest attempt of
2159 // each run, ordered by creation time then name.
2160 Checks []*Check `protobuf:"bytes,1,rep,name=checks,proto3" json:"checks,omitempty"`
2161 // Truncated is true when the commit has more checks than checks holds.
2162 Truncated bool `protobuf:"varint,2,opt,name=truncated,proto3" json:"truncated,omitempty"`
2163 unknownFields protoimpl.UnknownFields
2164 sizeCache protoimpl.SizeCache
2165}
2166
2167func (x *ListChecksResponse) Reset() {
2168 *x = ListChecksResponse{}
2169 mi := &file_ermite_run_proto_msgTypes[25]
2170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2171 ms.StoreMessageInfo(mi)
2172}
2173
2174func (x *ListChecksResponse) String() string {
2175 return protoimpl.X.MessageStringOf(x)
2176}
2177
2178func (*ListChecksResponse) ProtoMessage() {}
2179
2180func (x *ListChecksResponse) ProtoReflect() protoreflect.Message {
2181 mi := &file_ermite_run_proto_msgTypes[25]
2182 if x != nil {
2183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2184 if ms.LoadMessageInfo() == nil {
2185 ms.StoreMessageInfo(mi)
2186 }
2187 return ms
2188 }
2189 return mi.MessageOf(x)
2190}
2191
2192// Deprecated: Use ListChecksResponse.ProtoReflect.Descriptor instead.
2193func (*ListChecksResponse) Descriptor() ([]byte, []int) {
2194 return file_ermite_run_proto_rawDescGZIP(), []int{25}
2195}
2196
2197func (x *ListChecksResponse) GetChecks() []*Check {
2198 if x != nil {
2199 return x.Checks
2200 }
2201 return nil
2202}
2203
2204func (x *ListChecksResponse) GetTruncated() bool {
2205 if x != nil {
2206 return x.Truncated
2207 }
2208 return false
2209}
2210
2211// ListRunnersRequest selects a page of runners.
2212type ListRunnersRequest struct {
2213 state protoimpl.MessageState `protogen:"open.v1"`
2214 // PageSize is the maximum number of runners to return.
2215 PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2216 // PageToken is the next_page_token of a previous response. Empty for the
2217 // first page.
2218 PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2219 unknownFields protoimpl.UnknownFields
2220 sizeCache protoimpl.SizeCache
2221}
2222
2223func (x *ListRunnersRequest) Reset() {
2224 *x = ListRunnersRequest{}
2225 mi := &file_ermite_run_proto_msgTypes[26]
2226 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2227 ms.StoreMessageInfo(mi)
2228}
2229
2230func (x *ListRunnersRequest) String() string {
2231 return protoimpl.X.MessageStringOf(x)
2232}
2233
2234func (*ListRunnersRequest) ProtoMessage() {}
2235
2236func (x *ListRunnersRequest) ProtoReflect() protoreflect.Message {
2237 mi := &file_ermite_run_proto_msgTypes[26]
2238 if x != nil {
2239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2240 if ms.LoadMessageInfo() == nil {
2241 ms.StoreMessageInfo(mi)
2242 }
2243 return ms
2244 }
2245 return mi.MessageOf(x)
2246}
2247
2248// Deprecated: Use ListRunnersRequest.ProtoReflect.Descriptor instead.
2249func (*ListRunnersRequest) Descriptor() ([]byte, []int) {
2250 return file_ermite_run_proto_rawDescGZIP(), []int{26}
2251}
2252
2253func (x *ListRunnersRequest) GetPageSize() int32 {
2254 if x != nil {
2255 return x.PageSize
2256 }
2257 return 0
2258}
2259
2260func (x *ListRunnersRequest) GetPageToken() string {
2261 if x != nil {
2262 return x.PageToken
2263 }
2264 return ""
2265}
2266
2267// ListRunnersResponse is one page of runners.
2268type ListRunnersResponse struct {
2269 state protoimpl.MessageState `protogen:"open.v1"`
2270 // Runners are the runners of this page, ordered by name.
2271 Runners []*Runner `protobuf:"bytes,1,rep,name=runners,proto3" json:"runners,omitempty"`
2272 // NextPageToken is passed as page_token to get the next page. Empty when
2273 // there is no next page.
2274 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2275 unknownFields protoimpl.UnknownFields
2276 sizeCache protoimpl.SizeCache
2277}
2278
2279func (x *ListRunnersResponse) Reset() {
2280 *x = ListRunnersResponse{}
2281 mi := &file_ermite_run_proto_msgTypes[27]
2282 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2283 ms.StoreMessageInfo(mi)
2284}
2285
2286func (x *ListRunnersResponse) String() string {
2287 return protoimpl.X.MessageStringOf(x)
2288}
2289
2290func (*ListRunnersResponse) ProtoMessage() {}
2291
2292func (x *ListRunnersResponse) ProtoReflect() protoreflect.Message {
2293 mi := &file_ermite_run_proto_msgTypes[27]
2294 if x != nil {
2295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2296 if ms.LoadMessageInfo() == nil {
2297 ms.StoreMessageInfo(mi)
2298 }
2299 return ms
2300 }
2301 return mi.MessageOf(x)
2302}
2303
2304// Deprecated: Use ListRunnersResponse.ProtoReflect.Descriptor instead.
2305func (*ListRunnersResponse) Descriptor() ([]byte, []int) {
2306 return file_ermite_run_proto_rawDescGZIP(), []int{27}
2307}
2308
2309func (x *ListRunnersResponse) GetRunners() []*Runner {
2310 if x != nil {
2311 return x.Runners
2312 }
2313 return nil
2314}
2315
2316func (x *ListRunnersResponse) GetNextPageToken() string {
2317 if x != nil {
2318 return x.NextPageToken
2319 }
2320 return ""
2321}
2322
2323// RemoveRunnerRequest names the runner to remove.
2324type RemoveRunnerRequest struct {
2325 state protoimpl.MessageState `protogen:"open.v1"`
2326 // RunnerId is the Runner.id.
2327 RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"`
2328 unknownFields protoimpl.UnknownFields
2329 sizeCache protoimpl.SizeCache
2330}
2331
2332func (x *RemoveRunnerRequest) Reset() {
2333 *x = RemoveRunnerRequest{}
2334 mi := &file_ermite_run_proto_msgTypes[28]
2335 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2336 ms.StoreMessageInfo(mi)
2337}
2338
2339func (x *RemoveRunnerRequest) String() string {
2340 return protoimpl.X.MessageStringOf(x)
2341}
2342
2343func (*RemoveRunnerRequest) ProtoMessage() {}
2344
2345func (x *RemoveRunnerRequest) ProtoReflect() protoreflect.Message {
2346 mi := &file_ermite_run_proto_msgTypes[28]
2347 if x != nil {
2348 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2349 if ms.LoadMessageInfo() == nil {
2350 ms.StoreMessageInfo(mi)
2351 }
2352 return ms
2353 }
2354 return mi.MessageOf(x)
2355}
2356
2357// Deprecated: Use RemoveRunnerRequest.ProtoReflect.Descriptor instead.
2358func (*RemoveRunnerRequest) Descriptor() ([]byte, []int) {
2359 return file_ermite_run_proto_rawDescGZIP(), []int{28}
2360}
2361
2362func (x *RemoveRunnerRequest) GetRunnerId() string {
2363 if x != nil {
2364 return x.RunnerId
2365 }
2366 return ""
2367}
2368
2369// RemoveRunnerResponse is empty.
2370type RemoveRunnerResponse struct {
2371 state protoimpl.MessageState `protogen:"open.v1"`
2372 unknownFields protoimpl.UnknownFields
2373 sizeCache protoimpl.SizeCache
2374}
2375
2376func (x *RemoveRunnerResponse) Reset() {
2377 *x = RemoveRunnerResponse{}
2378 mi := &file_ermite_run_proto_msgTypes[29]
2379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2380 ms.StoreMessageInfo(mi)
2381}
2382
2383func (x *RemoveRunnerResponse) String() string {
2384 return protoimpl.X.MessageStringOf(x)
2385}
2386
2387func (*RemoveRunnerResponse) ProtoMessage() {}
2388
2389func (x *RemoveRunnerResponse) ProtoReflect() protoreflect.Message {
2390 mi := &file_ermite_run_proto_msgTypes[29]
2391 if x != nil {
2392 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2393 if ms.LoadMessageInfo() == nil {
2394 ms.StoreMessageInfo(mi)
2395 }
2396 return ms
2397 }
2398 return mi.MessageOf(x)
2399}
2400
2401// Deprecated: Use RemoveRunnerResponse.ProtoReflect.Descriptor instead.
2402func (*RemoveRunnerResponse) Descriptor() ([]byte, []int) {
2403 return file_ermite_run_proto_rawDescGZIP(), []int{29}
2404}
2405
2406var File_ermite_run_proto protoreflect.FileDescriptor
2407
2408const file_ermite_run_proto_rawDesc = "" +
2409 "\n" +
2410 "\x10ermite/run.proto\x12\x06ermite\x1a\x13ermite/runner.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe4\x04\n" +
2411 "\x03Run\x12\x12\n" +
2412 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2413 "\x02id\x18\x02 \x01(\x03R\x02id\x12\x16\n" +
2414 "\x06number\x18\x03 \x01(\x03R\x06number\x12\x18\n" +
2415 "\aattempt\x18\x04 \x01(\x05R\aattempt\x12#\n" +
2416 "\rworkflow_path\x18\x05 \x01(\tR\fworkflowPath\x12#\n" +
2417 "\rworkflow_name\x18\x06 \x01(\tR\fworkflowName\x12\x14\n" +
2418 "\x05title\x18\a \x01(\tR\x05title\x12\x14\n" +
2419 "\x05event\x18\b \x01(\tR\x05event\x12\x10\n" +
2420 "\x03ref\x18\t \x01(\tR\x03ref\x12\x10\n" +
2421 "\x03sha\x18\n" +
2422 " \x01(\tR\x03sha\x12\x14\n" +
2423 "\x05actor\x18\v \x01(\tR\x05actor\x12(\n" +
2424 "\x06status\x18\f \x01(\x0e2\x10.ermite.CiStatusR\x06status\x124\n" +
2425 "\n" +
2426 "conclusion\x18\r \x01(\x0e2\x14.ermite.CiConclusionR\n" +
2427 "conclusion\x12\x14\n" +
2428 "\x05error\x18\x0e \x01(\tR\x05error\x129\n" +
2429 "\n" +
2430 "created_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
2431 "\n" +
2432 "started_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" +
2433 "\fcompleted_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x18\n" +
2434 "\aversion\x18\x12 \x01(\x03R\aversion\x12\x12\n" +
2435 "\x04name\x18\x13 \x01(\tR\x04name\"\x8f\x05\n" +
2436 "\x06RunJob\x12\x0e\n" +
2437 "\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n" +
2438 "\x06run_id\x18\x02 \x01(\x03R\x05runId\x12\x18\n" +
2439 "\aattempt\x18\x03 \x01(\x05R\aattempt\x12\x12\n" +
2440 "\x04repo\x18\x04 \x01(\tR\x04repo\x12\x10\n" +
2441 "\x03key\x18\x05 \x01(\tR\x03key\x12\x12\n" +
2442 "\x04name\x18\x06 \x01(\tR\x04name\x12(\n" +
2443 "\x06status\x18\a \x01(\x0e2\x10.ermite.CiStatusR\x06status\x124\n" +
2444 "\n" +
2445 "conclusion\x18\b \x01(\x0e2\x14.ermite.CiConclusionR\n" +
2446 "conclusion\x12\x14\n" +
2447 "\x05error\x18\t \x01(\tR\x05error\x12\x16\n" +
2448 "\x06labels\x18\n" +
2449 " \x03(\tR\x06labels\x12\x14\n" +
2450 "\x05needs\x18\v \x03(\tR\x05needs\x12\x1b\n" +
2451 "\trunner_id\x18\f \x01(\tR\brunnerId\x12\x1f\n" +
2452 "\vrunner_name\x18\r \x01(\tR\n" +
2453 "runnerName\x125\n" +
2454 "\tisolation\x18\x0e \x01(\x0e2\x17.ermite.RunnerIsolationR\tisolation\x12\"\n" +
2455 "\x05steps\x18\x0f \x03(\v2\f.ermite.StepR\x05steps\x129\n" +
2456 "\n" +
2457 "created_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
2458 "\n" +
2459 "started_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" +
2460 "\fcompleted_at\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x18\n" +
2461 "\aversion\x18\x13 \x01(\x03R\aversion\"\xf1\x02\n" +
2462 "\x04Step\x12\x16\n" +
2463 "\x06number\x18\x01 \x01(\x05R\x06number\x12\x12\n" +
2464 "\x04name\x18\x02 \x01(\tR\x04name\x12'\n" +
2465 "\x05state\x18\x03 \x01(\x0e2\x11.ermite.StepStateR\x05state\x124\n" +
2466 "\n" +
2467 "conclusion\x18\x04 \x01(\x0e2\x14.ermite.CiConclusionR\n" +
2468 "conclusion\x129\n" +
2469 "\n" +
2470 "started_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" +
2471 "\fcompleted_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12\x1b\n" +
2472 "\tlog_start\x18\a \x01(\x03R\blogStart\x12\x17\n" +
2473 "\alog_end\x18\b \x01(\x03R\x06logEnd\x12.\n" +
2474 "\aoutcome\x18\t \x01(\x0e2\x14.ermite.CiConclusionR\aoutcome\"\x98\x03\n" +
2475 "\x05Check\x12\x0e\n" +
2476 "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
2477 "\x04repo\x18\x02 \x01(\tR\x04repo\x12\x10\n" +
2478 "\x03sha\x18\x03 \x01(\tR\x03sha\x12\x12\n" +
2479 "\x04name\x18\x04 \x01(\tR\x04name\x12(\n" +
2480 "\x06status\x18\x05 \x01(\x0e2\x10.ermite.CiStatusR\x06status\x124\n" +
2481 "\n" +
2482 "conclusion\x18\x06 \x01(\x0e2\x14.ermite.CiConclusionR\n" +
2483 "conclusion\x12\x15\n" +
2484 "\x06run_id\x18\a \x01(\x03R\x05runId\x12\x15\n" +
2485 "\x06job_id\x18\b \x01(\tR\x05jobId\x12\x18\n" +
2486 "\aattempt\x18\t \x01(\x05R\aattempt\x12#\n" +
2487 "\rworkflow_name\x18\n" +
2488 " \x01(\tR\fworkflowName\x129\n" +
2489 "\n" +
2490 "started_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12=\n" +
2491 "\fcompleted_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\"\xc7\x02\n" +
2492 "\x06Runner\x12\x0e\n" +
2493 "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
2494 "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
2495 "\x06labels\x18\x03 \x03(\tR\x06labels\x125\n" +
2496 "\tisolation\x18\x04 \x01(\x0e2\x17.ermite.RunnerIsolationR\tisolation\x12\x18\n" +
2497 "\aversion\x18\x05 \x01(\tR\aversion\x12\x12\n" +
2498 "\x04arch\x18\x06 \x01(\tR\x04arch\x12\x0e\n" +
2499 "\x02os\x18\a \x01(\tR\x02os\x12?\n" +
2500 "\rregistered_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\fregisteredAt\x127\n" +
2501 "\tlast_seen\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\blastSeen\x12\x12\n" +
2502 "\x04busy\x18\n" +
2503 " \x01(\bR\x04busy\"\xbf\x01\n" +
2504 "\x0fListRunsRequest\x12\x12\n" +
2505 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x1b\n" +
2506 "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12\x1d\n" +
2507 "\n" +
2508 "page_token\x18\x03 \x01(\tR\tpageToken\x12\x1a\n" +
2509 "\bworkflow\x18\x04 \x01(\tR\bworkflow\x12\x16\n" +
2510 "\x06branch\x18\x05 \x01(\tR\x06branch\x12(\n" +
2511 "\x06status\x18\x06 \x01(\x0e2\x10.ermite.CiStatusR\x06status\"[\n" +
2512 "\x10ListRunsResponse\x12\x1f\n" +
2513 "\x04runs\x18\x01 \x03(\v2\v.ermite.RunR\x04runs\x12&\n" +
2514 "\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"T\n" +
2515 "\rGetRunRequest\x12\x12\n" +
2516 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2517 "\x06run_id\x18\x02 \x01(\x03R\x05runId\x12\x18\n" +
2518 "\aattempt\x18\x03 \x01(\x05R\aattempt\"z\n" +
2519 "\x0eGetRunResponse\x12\x1d\n" +
2520 "\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\x12\"\n" +
2521 "\x04jobs\x18\x02 \x03(\v2\x0e.ermite.RunJobR\x04jobs\x12%\n" +
2522 "\x0elatest_attempt\x18\x03 \x01(\x05R\rlatestAttempt\"T\n" +
2523 "\rGetJobRequest\x12\x12\n" +
2524 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2525 "\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x18\n" +
2526 "\aattempt\x18\x03 \x01(\x05R\aattempt\"2\n" +
2527 "\x0eGetJobResponse\x12 \n" +
2528 "\x03job\x18\x01 \x01(\v2\x0e.ermite.RunJobR\x03job\"t\n" +
2529 "\x16ListAnnotationsRequest\x12\x12\n" +
2530 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2531 "\x06run_id\x18\x02 \x01(\x03R\x05runId\x12\x18\n" +
2532 "\aattempt\x18\x03 \x01(\x05R\aattempt\x12\x15\n" +
2533 "\x06job_id\x18\x04 \x01(\tR\x05jobId\"p\n" +
2534 "\x17ListAnnotationsResponse\x127\n" +
2535 "\vannotations\x18\x01 \x03(\v2\x15.ermite.JobAnnotationR\vannotations\x12\x1c\n" +
2536 "\ttruncated\x18\x02 \x01(\bR\ttruncated\"Z\n" +
2537 "\rJobAnnotation\x12\x15\n" +
2538 "\x06job_id\x18\x01 \x01(\tR\x05jobId\x122\n" +
2539 "\n" +
2540 "annotation\x18\x02 \x01(\v2\x12.ermite.AnnotationR\n" +
2541 "annotation\"^\n" +
2542 "\x17GetStepSummariesRequest\x12\x12\n" +
2543 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2544 "\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x18\n" +
2545 "\aattempt\x18\x03 \x01(\x05R\aattempt\"k\n" +
2546 "\x18GetStepSummariesResponse\x121\n" +
2547 "\tsummaries\x18\x01 \x03(\v2\x13.ermite.StepSummaryR\tsummaries\x12\x1c\n" +
2548 "\ttruncated\x18\x02 \x01(\bR\ttruncated\"J\n" +
2549 "\vStepSummary\x12\x1f\n" +
2550 "\vstep_number\x18\x01 \x01(\x05R\n" +
2551 "stepNumber\x12\x1a\n" +
2552 "\bmarkdown\x18\x02 \x01(\tR\bmarkdown\"\x87\x01\n" +
2553 "\x10GetJobLogRequest\x12\x12\n" +
2554 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2555 "\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x18\n" +
2556 "\aattempt\x18\x03 \x01(\x05R\aattempt\x12\x16\n" +
2557 "\x06offset\x18\x04 \x01(\x03R\x06offset\x12\x16\n" +
2558 "\x06follow\x18\x05 \x01(\bR\x06follow\"U\n" +
2559 "\x11GetJobLogResponse\x12\x16\n" +
2560 "\x06offset\x18\x01 \x01(\x03R\x06offset\x12(\n" +
2561 "\x05lines\x18\x02 \x03(\v2\x12.ermite.JobLogLineR\x05lines\"\x82\x01\n" +
2562 "\n" +
2563 "JobLogLine\x12\x12\n" +
2564 "\x04step\x18\x01 \x01(\x05R\x04step\x12.\n" +
2565 "\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x12\x12\n" +
2566 "\x04text\x18\x03 \x01(\tR\x04text\x12\x1c\n" +
2567 "\tcontinued\x18\x04 \x01(\bR\tcontinued\"=\n" +
2568 "\x10CancelRunRequest\x12\x12\n" +
2569 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2570 "\x06run_id\x18\x02 \x01(\x03R\x05runId\"2\n" +
2571 "\x11CancelRunResponse\x12\x1d\n" +
2572 "\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\"]\n" +
2573 "\x0fRerunRunRequest\x12\x12\n" +
2574 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x15\n" +
2575 "\x06run_id\x18\x02 \x01(\x03R\x05runId\x12\x1f\n" +
2576 "\vfailed_only\x18\x03 \x01(\bR\n" +
2577 "failedOnly\"1\n" +
2578 "\x10RerunRunResponse\x12\x1d\n" +
2579 "\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\"9\n" +
2580 "\x11ListChecksRequest\x12\x12\n" +
2581 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x10\n" +
2582 "\x03sha\x18\x02 \x01(\tR\x03sha\"Y\n" +
2583 "\x12ListChecksResponse\x12%\n" +
2584 "\x06checks\x18\x01 \x03(\v2\r.ermite.CheckR\x06checks\x12\x1c\n" +
2585 "\ttruncated\x18\x02 \x01(\bR\ttruncated\"P\n" +
2586 "\x12ListRunnersRequest\x12\x1b\n" +
2587 "\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\x1d\n" +
2588 "\n" +
2589 "page_token\x18\x02 \x01(\tR\tpageToken\"g\n" +
2590 "\x13ListRunnersResponse\x12(\n" +
2591 "\arunners\x18\x01 \x03(\v2\x0e.ermite.RunnerR\arunners\x12&\n" +
2592 "\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"2\n" +
2593 "\x13RemoveRunnerRequest\x12\x1b\n" +
2594 "\trunner_id\x18\x01 \x01(\tR\brunnerId\"\x16\n" +
2595 "\x14RemoveRunnerResponse2\x85\x06\n" +
2596 "\n" +
2597 "RunService\x12=\n" +
2598 "\bListRuns\x12\x17.ermite.ListRunsRequest\x1a\x18.ermite.ListRunsResponse\x127\n" +
2599 "\x06GetRun\x12\x15.ermite.GetRunRequest\x1a\x16.ermite.GetRunResponse\x127\n" +
2600 "\x06GetJob\x12\x15.ermite.GetJobRequest\x1a\x16.ermite.GetJobResponse\x12R\n" +
2601 "\x0fListAnnotations\x12\x1e.ermite.ListAnnotationsRequest\x1a\x1f.ermite.ListAnnotationsResponse\x12U\n" +
2602 "\x10GetStepSummaries\x12\x1f.ermite.GetStepSummariesRequest\x1a .ermite.GetStepSummariesResponse\x12B\n" +
2603 "\tGetJobLog\x12\x18.ermite.GetJobLogRequest\x1a\x19.ermite.GetJobLogResponse0\x01\x12@\n" +
2604 "\tCancelRun\x12\x18.ermite.CancelRunRequest\x1a\x19.ermite.CancelRunResponse\x12=\n" +
2605 "\bRerunRun\x12\x17.ermite.RerunRunRequest\x1a\x18.ermite.RerunRunResponse\x12C\n" +
2606 "\n" +
2607 "ListChecks\x12\x19.ermite.ListChecksRequest\x1a\x1a.ermite.ListChecksResponse\x12F\n" +
2608 "\vListRunners\x12\x1a.ermite.ListRunnersRequest\x1a\x1b.ermite.ListRunnersResponse\x12I\n" +
2609 "\fRemoveRunner\x12\x1b.ermite.RemoveRunnerRequest\x1a\x1c.ermite.RemoveRunnerResponseBo\n" +
2610 "\n" +
2611 "com.ermiteB\bRunProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
2612
2613var (
2614 file_ermite_run_proto_rawDescOnce sync.Once
2615 file_ermite_run_proto_rawDescData []byte
2616)
2617
2618func file_ermite_run_proto_rawDescGZIP() []byte {
2619 file_ermite_run_proto_rawDescOnce.Do(func() {
2620 file_ermite_run_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_run_proto_rawDesc), len(file_ermite_run_proto_rawDesc)))
2621 })
2622 return file_ermite_run_proto_rawDescData
2623}
2624
2625var file_ermite_run_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
2626var file_ermite_run_proto_goTypes = []any{
2627 (*Run)(nil), // 0: ermite.Run
2628 (*RunJob)(nil), // 1: ermite.RunJob
2629 (*Step)(nil), // 2: ermite.Step
2630 (*Check)(nil), // 3: ermite.Check
2631 (*Runner)(nil), // 4: ermite.Runner
2632 (*ListRunsRequest)(nil), // 5: ermite.ListRunsRequest
2633 (*ListRunsResponse)(nil), // 6: ermite.ListRunsResponse
2634 (*GetRunRequest)(nil), // 7: ermite.GetRunRequest
2635 (*GetRunResponse)(nil), // 8: ermite.GetRunResponse
2636 (*GetJobRequest)(nil), // 9: ermite.GetJobRequest
2637 (*GetJobResponse)(nil), // 10: ermite.GetJobResponse
2638 (*ListAnnotationsRequest)(nil), // 11: ermite.ListAnnotationsRequest
2639 (*ListAnnotationsResponse)(nil), // 12: ermite.ListAnnotationsResponse
2640 (*JobAnnotation)(nil), // 13: ermite.JobAnnotation
2641 (*GetStepSummariesRequest)(nil), // 14: ermite.GetStepSummariesRequest
2642 (*GetStepSummariesResponse)(nil), // 15: ermite.GetStepSummariesResponse
2643 (*StepSummary)(nil), // 16: ermite.StepSummary
2644 (*GetJobLogRequest)(nil), // 17: ermite.GetJobLogRequest
2645 (*GetJobLogResponse)(nil), // 18: ermite.GetJobLogResponse
2646 (*JobLogLine)(nil), // 19: ermite.JobLogLine
2647 (*CancelRunRequest)(nil), // 20: ermite.CancelRunRequest
2648 (*CancelRunResponse)(nil), // 21: ermite.CancelRunResponse
2649 (*RerunRunRequest)(nil), // 22: ermite.RerunRunRequest
2650 (*RerunRunResponse)(nil), // 23: ermite.RerunRunResponse
2651 (*ListChecksRequest)(nil), // 24: ermite.ListChecksRequest
2652 (*ListChecksResponse)(nil), // 25: ermite.ListChecksResponse
2653 (*ListRunnersRequest)(nil), // 26: ermite.ListRunnersRequest
2654 (*ListRunnersResponse)(nil), // 27: ermite.ListRunnersResponse
2655 (*RemoveRunnerRequest)(nil), // 28: ermite.RemoveRunnerRequest
2656 (*RemoveRunnerResponse)(nil), // 29: ermite.RemoveRunnerResponse
2657 (CiStatus)(0), // 30: ermite.CiStatus
2658 (CiConclusion)(0), // 31: ermite.CiConclusion
2659 (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp
2660 (RunnerIsolation)(0), // 33: ermite.RunnerIsolation
2661 (StepState)(0), // 34: ermite.StepState
2662 (*Annotation)(nil), // 35: ermite.Annotation
2663}
2664var file_ermite_run_proto_depIdxs = []int32{
2665 30, // 0: ermite.Run.status:type_name -> ermite.CiStatus
2666 31, // 1: ermite.Run.conclusion:type_name -> ermite.CiConclusion
2667 32, // 2: ermite.Run.created_at:type_name -> google.protobuf.Timestamp
2668 32, // 3: ermite.Run.started_at:type_name -> google.protobuf.Timestamp
2669 32, // 4: ermite.Run.completed_at:type_name -> google.protobuf.Timestamp
2670 30, // 5: ermite.RunJob.status:type_name -> ermite.CiStatus
2671 31, // 6: ermite.RunJob.conclusion:type_name -> ermite.CiConclusion
2672 33, // 7: ermite.RunJob.isolation:type_name -> ermite.RunnerIsolation
2673 2, // 8: ermite.RunJob.steps:type_name -> ermite.Step
2674 32, // 9: ermite.RunJob.created_at:type_name -> google.protobuf.Timestamp
2675 32, // 10: ermite.RunJob.started_at:type_name -> google.protobuf.Timestamp
2676 32, // 11: ermite.RunJob.completed_at:type_name -> google.protobuf.Timestamp
2677 34, // 12: ermite.Step.state:type_name -> ermite.StepState
2678 31, // 13: ermite.Step.conclusion:type_name -> ermite.CiConclusion
2679 32, // 14: ermite.Step.started_at:type_name -> google.protobuf.Timestamp
2680 32, // 15: ermite.Step.completed_at:type_name -> google.protobuf.Timestamp
2681 31, // 16: ermite.Step.outcome:type_name -> ermite.CiConclusion
2682 30, // 17: ermite.Check.status:type_name -> ermite.CiStatus
2683 31, // 18: ermite.Check.conclusion:type_name -> ermite.CiConclusion
2684 32, // 19: ermite.Check.started_at:type_name -> google.protobuf.Timestamp
2685 32, // 20: ermite.Check.completed_at:type_name -> google.protobuf.Timestamp
2686 33, // 21: ermite.Runner.isolation:type_name -> ermite.RunnerIsolation
2687 32, // 22: ermite.Runner.registered_at:type_name -> google.protobuf.Timestamp
2688 32, // 23: ermite.Runner.last_seen:type_name -> google.protobuf.Timestamp
2689 30, // 24: ermite.ListRunsRequest.status:type_name -> ermite.CiStatus
2690 0, // 25: ermite.ListRunsResponse.runs:type_name -> ermite.Run
2691 0, // 26: ermite.GetRunResponse.run:type_name -> ermite.Run
2692 1, // 27: ermite.GetRunResponse.jobs:type_name -> ermite.RunJob
2693 1, // 28: ermite.GetJobResponse.job:type_name -> ermite.RunJob
2694 13, // 29: ermite.ListAnnotationsResponse.annotations:type_name -> ermite.JobAnnotation
2695 35, // 30: ermite.JobAnnotation.annotation:type_name -> ermite.Annotation
2696 16, // 31: ermite.GetStepSummariesResponse.summaries:type_name -> ermite.StepSummary
2697 19, // 32: ermite.GetJobLogResponse.lines:type_name -> ermite.JobLogLine
2698 32, // 33: ermite.JobLogLine.time:type_name -> google.protobuf.Timestamp
2699 0, // 34: ermite.CancelRunResponse.run:type_name -> ermite.Run
2700 0, // 35: ermite.RerunRunResponse.run:type_name -> ermite.Run
2701 3, // 36: ermite.ListChecksResponse.checks:type_name -> ermite.Check
2702 4, // 37: ermite.ListRunnersResponse.runners:type_name -> ermite.Runner
2703 5, // 38: ermite.RunService.ListRuns:input_type -> ermite.ListRunsRequest
2704 7, // 39: ermite.RunService.GetRun:input_type -> ermite.GetRunRequest
2705 9, // 40: ermite.RunService.GetJob:input_type -> ermite.GetJobRequest
2706 11, // 41: ermite.RunService.ListAnnotations:input_type -> ermite.ListAnnotationsRequest
2707 14, // 42: ermite.RunService.GetStepSummaries:input_type -> ermite.GetStepSummariesRequest
2708 17, // 43: ermite.RunService.GetJobLog:input_type -> ermite.GetJobLogRequest
2709 20, // 44: ermite.RunService.CancelRun:input_type -> ermite.CancelRunRequest
2710 22, // 45: ermite.RunService.RerunRun:input_type -> ermite.RerunRunRequest
2711 24, // 46: ermite.RunService.ListChecks:input_type -> ermite.ListChecksRequest
2712 26, // 47: ermite.RunService.ListRunners:input_type -> ermite.ListRunnersRequest
2713 28, // 48: ermite.RunService.RemoveRunner:input_type -> ermite.RemoveRunnerRequest
2714 6, // 49: ermite.RunService.ListRuns:output_type -> ermite.ListRunsResponse
2715 8, // 50: ermite.RunService.GetRun:output_type -> ermite.GetRunResponse
2716 10, // 51: ermite.RunService.GetJob:output_type -> ermite.GetJobResponse
2717 12, // 52: ermite.RunService.ListAnnotations:output_type -> ermite.ListAnnotationsResponse
2718 15, // 53: ermite.RunService.GetStepSummaries:output_type -> ermite.GetStepSummariesResponse
2719 18, // 54: ermite.RunService.GetJobLog:output_type -> ermite.GetJobLogResponse
2720 21, // 55: ermite.RunService.CancelRun:output_type -> ermite.CancelRunResponse
2721 23, // 56: ermite.RunService.RerunRun:output_type -> ermite.RerunRunResponse
2722 25, // 57: ermite.RunService.ListChecks:output_type -> ermite.ListChecksResponse
2723 27, // 58: ermite.RunService.ListRunners:output_type -> ermite.ListRunnersResponse
2724 29, // 59: ermite.RunService.RemoveRunner:output_type -> ermite.RemoveRunnerResponse
2725 49, // [49:60] is the sub-list for method output_type
2726 38, // [38:49] is the sub-list for method input_type
2727 38, // [38:38] is the sub-list for extension type_name
2728 38, // [38:38] is the sub-list for extension extendee
2729 0, // [0:38] is the sub-list for field type_name
2730}
2731
2732func init() { file_ermite_run_proto_init() }
2733func file_ermite_run_proto_init() {
2734 if File_ermite_run_proto != nil {
2735 return
2736 }
2737 file_ermite_runner_proto_init()
2738 type x struct{}
2739 out := protoimpl.TypeBuilder{
2740 File: protoimpl.DescBuilder{
2741 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2742 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_run_proto_rawDesc), len(file_ermite_run_proto_rawDesc)),
2743 NumEnums: 0,
2744 NumMessages: 30,
2745 NumExtensions: 0,
2746 NumServices: 1,
2747 },
2748 GoTypes: file_ermite_run_proto_goTypes,
2749 DependencyIndexes: file_ermite_run_proto_depIdxs,
2750 MessageInfos: file_ermite_run_proto_msgTypes,
2751 }.Build()
2752 File_ermite_run_proto = out.File
2753 file_ermite_run_proto_goTypes = nil
2754 file_ermite_run_proto_depIdxs = nil
2755}