1// SPDX-License-Identifier: MIT
2
3// Internal wire format between the host process of ermite-runner and the
4// executor running inside a sandbox (vsock in a micro-VM, Unix socket in a
5// container). Frames are length-prefixed on the stream (see frame.go); this file
6// defines the payload. It is internal to ermite-runner: no compatibility is
7// promised between runner versions, which is safe because the host attaches its
8// own executable to every sandbox.
9
10// Code generated by protoc-gen-go. DO NOT EDIT.
11// versions:
12// protoc-gen-go v1.36.12
13// protoc (unknown)
14// source: exec.proto
15
16package execpb
17
18import (
19 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
20 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
21 reflect "reflect"
22 sync "sync"
23 unsafe "unsafe"
24)
25
26const (
27 // Verify that this generated code is sufficiently up-to-date.
28 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
29 // Verify that runtime/protoimpl is sufficiently up-to-date.
30 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
31)
32
33type StreamKind int32
34
35const (
36 StreamKind_STREAM_KIND_UNSPECIFIED StreamKind = 0
37 StreamKind_STREAM_KIND_STDOUT StreamKind = 1
38 StreamKind_STREAM_KIND_STDERR StreamKind = 2
39)
40
41// Enum value maps for StreamKind.
42var (
43 StreamKind_name = map[int32]string{
44 0: "STREAM_KIND_UNSPECIFIED",
45 1: "STREAM_KIND_STDOUT",
46 2: "STREAM_KIND_STDERR",
47 }
48 StreamKind_value = map[string]int32{
49 "STREAM_KIND_UNSPECIFIED": 0,
50 "STREAM_KIND_STDOUT": 1,
51 "STREAM_KIND_STDERR": 2,
52 }
53)
54
55func (x StreamKind) Enum() *StreamKind {
56 p := new(StreamKind)
57 *p = x
58 return p
59}
60
61func (x StreamKind) String() string {
62 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
63}
64
65func (StreamKind) Descriptor() protoreflect.EnumDescriptor {
66 return file_exec_proto_enumTypes[0].Descriptor()
67}
68
69func (StreamKind) Type() protoreflect.EnumType {
70 return &file_exec_proto_enumTypes[0]
71}
72
73func (x StreamKind) Number() protoreflect.EnumNumber {
74 return protoreflect.EnumNumber(x)
75}
76
77// Deprecated: Use StreamKind.Descriptor instead.
78func (StreamKind) EnumDescriptor() ([]byte, []int) {
79 return file_exec_proto_rawDescGZIP(), []int{0}
80}
81
82type CancelKind int32
83
84const (
85 CancelKind_CANCEL_KIND_UNSPECIFIED CancelKind = 0 // same as USER
86 CancelKind_CANCEL_KIND_USER CancelKind = 1
87 CancelKind_CANCEL_KIND_TIMEOUT CancelKind = 2
88 CancelKind_CANCEL_KIND_SHUTDOWN CancelKind = 3
89)
90
91// Enum value maps for CancelKind.
92var (
93 CancelKind_name = map[int32]string{
94 0: "CANCEL_KIND_UNSPECIFIED",
95 1: "CANCEL_KIND_USER",
96 2: "CANCEL_KIND_TIMEOUT",
97 3: "CANCEL_KIND_SHUTDOWN",
98 }
99 CancelKind_value = map[string]int32{
100 "CANCEL_KIND_UNSPECIFIED": 0,
101 "CANCEL_KIND_USER": 1,
102 "CANCEL_KIND_TIMEOUT": 2,
103 "CANCEL_KIND_SHUTDOWN": 3,
104 }
105)
106
107func (x CancelKind) Enum() *CancelKind {
108 p := new(CancelKind)
109 *p = x
110 return p
111}
112
113func (x CancelKind) String() string {
114 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
115}
116
117func (CancelKind) Descriptor() protoreflect.EnumDescriptor {
118 return file_exec_proto_enumTypes[1].Descriptor()
119}
120
121func (CancelKind) Type() protoreflect.EnumType {
122 return &file_exec_proto_enumTypes[1]
123}
124
125func (x CancelKind) Number() protoreflect.EnumNumber {
126 return protoreflect.EnumNumber(x)
127}
128
129// Deprecated: Use CancelKind.Descriptor instead.
130func (CancelKind) EnumDescriptor() ([]byte, []int) {
131 return file_exec_proto_rawDescGZIP(), []int{1}
132}
133
134type AnnotationLevel int32
135
136const (
137 AnnotationLevel_ANNOTATION_LEVEL_UNSPECIFIED AnnotationLevel = 0
138 AnnotationLevel_ANNOTATION_LEVEL_NOTICE AnnotationLevel = 1
139 AnnotationLevel_ANNOTATION_LEVEL_WARNING AnnotationLevel = 2
140 AnnotationLevel_ANNOTATION_LEVEL_FAILURE AnnotationLevel = 3
141)
142
143// Enum value maps for AnnotationLevel.
144var (
145 AnnotationLevel_name = map[int32]string{
146 0: "ANNOTATION_LEVEL_UNSPECIFIED",
147 1: "ANNOTATION_LEVEL_NOTICE",
148 2: "ANNOTATION_LEVEL_WARNING",
149 3: "ANNOTATION_LEVEL_FAILURE",
150 }
151 AnnotationLevel_value = map[string]int32{
152 "ANNOTATION_LEVEL_UNSPECIFIED": 0,
153 "ANNOTATION_LEVEL_NOTICE": 1,
154 "ANNOTATION_LEVEL_WARNING": 2,
155 "ANNOTATION_LEVEL_FAILURE": 3,
156 }
157)
158
159func (x AnnotationLevel) Enum() *AnnotationLevel {
160 p := new(AnnotationLevel)
161 *p = x
162 return p
163}
164
165func (x AnnotationLevel) String() string {
166 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
167}
168
169func (AnnotationLevel) Descriptor() protoreflect.EnumDescriptor {
170 return file_exec_proto_enumTypes[2].Descriptor()
171}
172
173func (AnnotationLevel) Type() protoreflect.EnumType {
174 return &file_exec_proto_enumTypes[2]
175}
176
177func (x AnnotationLevel) Number() protoreflect.EnumNumber {
178 return protoreflect.EnumNumber(x)
179}
180
181// Deprecated: Use AnnotationLevel.Descriptor instead.
182func (AnnotationLevel) EnumDescriptor() ([]byte, []int) {
183 return file_exec_proto_rawDescGZIP(), []int{2}
184}
185
186type StepConclusion int32
187
188const (
189 StepConclusion_STEP_CONCLUSION_UNSPECIFIED StepConclusion = 0
190 StepConclusion_STEP_CONCLUSION_SUCCESS StepConclusion = 1
191 StepConclusion_STEP_CONCLUSION_FAILURE StepConclusion = 2
192 StepConclusion_STEP_CONCLUSION_CANCELLED StepConclusion = 3
193 StepConclusion_STEP_CONCLUSION_SKIPPED StepConclusion = 4
194 StepConclusion_STEP_CONCLUSION_TIMED_OUT StepConclusion = 5 // jobs only
195)
196
197// Enum value maps for StepConclusion.
198var (
199 StepConclusion_name = map[int32]string{
200 0: "STEP_CONCLUSION_UNSPECIFIED",
201 1: "STEP_CONCLUSION_SUCCESS",
202 2: "STEP_CONCLUSION_FAILURE",
203 3: "STEP_CONCLUSION_CANCELLED",
204 4: "STEP_CONCLUSION_SKIPPED",
205 5: "STEP_CONCLUSION_TIMED_OUT",
206 }
207 StepConclusion_value = map[string]int32{
208 "STEP_CONCLUSION_UNSPECIFIED": 0,
209 "STEP_CONCLUSION_SUCCESS": 1,
210 "STEP_CONCLUSION_FAILURE": 2,
211 "STEP_CONCLUSION_CANCELLED": 3,
212 "STEP_CONCLUSION_SKIPPED": 4,
213 "STEP_CONCLUSION_TIMED_OUT": 5,
214 }
215)
216
217func (x StepConclusion) Enum() *StepConclusion {
218 p := new(StepConclusion)
219 *p = x
220 return p
221}
222
223func (x StepConclusion) String() string {
224 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
225}
226
227func (StepConclusion) Descriptor() protoreflect.EnumDescriptor {
228 return file_exec_proto_enumTypes[3].Descriptor()
229}
230
231func (StepConclusion) Type() protoreflect.EnumType {
232 return &file_exec_proto_enumTypes[3]
233}
234
235func (x StepConclusion) Number() protoreflect.EnumNumber {
236 return protoreflect.EnumNumber(x)
237}
238
239// Deprecated: Use StepConclusion.Descriptor instead.
240func (StepConclusion) EnumDescriptor() ([]byte, []int) {
241 return file_exec_proto_rawDescGZIP(), []int{3}
242}
243
244// Frame is the only message on the stream.
245type Frame struct {
246 state protoimpl.MessageState `protogen:"open.v1"`
247 // Types that are valid to be assigned to Body:
248 //
249 // *Frame_Hello
250 // *Frame_Run
251 // *Frame_Output
252 // *Frame_Exit
253 // *Frame_Cancel
254 // *Frame_StepStarted
255 // *Frame_StepCompleted
256 // *Frame_Log
257 // *Frame_JobResult
258 // *Frame_StepAnnotations
259 // *Frame_StepSummary
260 // *Frame_ResolveRequest
261 // *Frame_ResolveResponse
262 // *Frame_Secret
263 // *Frame_Var
264 Body isFrame_Body `protobuf_oneof:"body"`
265 unknownFields protoimpl.UnknownFields
266 sizeCache protoimpl.SizeCache
267}
268
269func (x *Frame) Reset() {
270 *x = Frame{}
271 mi := &file_exec_proto_msgTypes[0]
272 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
273 ms.StoreMessageInfo(mi)
274}
275
276func (x *Frame) String() string {
277 return protoimpl.X.MessageStringOf(x)
278}
279
280func (*Frame) ProtoMessage() {}
281
282func (x *Frame) ProtoReflect() protoreflect.Message {
283 mi := &file_exec_proto_msgTypes[0]
284 if x != nil {
285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
286 if ms.LoadMessageInfo() == nil {
287 ms.StoreMessageInfo(mi)
288 }
289 return ms
290 }
291 return mi.MessageOf(x)
292}
293
294// Deprecated: Use Frame.ProtoReflect.Descriptor instead.
295func (*Frame) Descriptor() ([]byte, []int) {
296 return file_exec_proto_rawDescGZIP(), []int{0}
297}
298
299func (x *Frame) GetBody() isFrame_Body {
300 if x != nil {
301 return x.Body
302 }
303 return nil
304}
305
306func (x *Frame) GetHello() *Hello {
307 if x != nil {
308 if x, ok := x.Body.(*Frame_Hello); ok {
309 return x.Hello
310 }
311 }
312 return nil
313}
314
315func (x *Frame) GetRun() *Run {
316 if x != nil {
317 if x, ok := x.Body.(*Frame_Run); ok {
318 return x.Run
319 }
320 }
321 return nil
322}
323
324func (x *Frame) GetOutput() *Output {
325 if x != nil {
326 if x, ok := x.Body.(*Frame_Output); ok {
327 return x.Output
328 }
329 }
330 return nil
331}
332
333func (x *Frame) GetExit() *Exit {
334 if x != nil {
335 if x, ok := x.Body.(*Frame_Exit); ok {
336 return x.Exit
337 }
338 }
339 return nil
340}
341
342func (x *Frame) GetCancel() *Cancel {
343 if x != nil {
344 if x, ok := x.Body.(*Frame_Cancel); ok {
345 return x.Cancel
346 }
347 }
348 return nil
349}
350
351func (x *Frame) GetStepStarted() *StepStarted {
352 if x != nil {
353 if x, ok := x.Body.(*Frame_StepStarted); ok {
354 return x.StepStarted
355 }
356 }
357 return nil
358}
359
360func (x *Frame) GetStepCompleted() *StepCompleted {
361 if x != nil {
362 if x, ok := x.Body.(*Frame_StepCompleted); ok {
363 return x.StepCompleted
364 }
365 }
366 return nil
367}
368
369func (x *Frame) GetLog() *Log {
370 if x != nil {
371 if x, ok := x.Body.(*Frame_Log); ok {
372 return x.Log
373 }
374 }
375 return nil
376}
377
378func (x *Frame) GetJobResult() *JobResult {
379 if x != nil {
380 if x, ok := x.Body.(*Frame_JobResult); ok {
381 return x.JobResult
382 }
383 }
384 return nil
385}
386
387func (x *Frame) GetStepAnnotations() *StepAnnotations {
388 if x != nil {
389 if x, ok := x.Body.(*Frame_StepAnnotations); ok {
390 return x.StepAnnotations
391 }
392 }
393 return nil
394}
395
396func (x *Frame) GetStepSummary() *StepSummary {
397 if x != nil {
398 if x, ok := x.Body.(*Frame_StepSummary); ok {
399 return x.StepSummary
400 }
401 }
402 return nil
403}
404
405func (x *Frame) GetResolveRequest() *ResolveRequest {
406 if x != nil {
407 if x, ok := x.Body.(*Frame_ResolveRequest); ok {
408 return x.ResolveRequest
409 }
410 }
411 return nil
412}
413
414func (x *Frame) GetResolveResponse() *ResolveResponse {
415 if x != nil {
416 if x, ok := x.Body.(*Frame_ResolveResponse); ok {
417 return x.ResolveResponse
418 }
419 }
420 return nil
421}
422
423func (x *Frame) GetSecret() *NamedValue {
424 if x != nil {
425 if x, ok := x.Body.(*Frame_Secret); ok {
426 return x.Secret
427 }
428 }
429 return nil
430}
431
432func (x *Frame) GetVar() *NamedValue {
433 if x != nil {
434 if x, ok := x.Body.(*Frame_Var); ok {
435 return x.Var
436 }
437 }
438 return nil
439}
440
441type isFrame_Body interface {
442 isFrame_Body()
443}
444
445type Frame_Hello struct {
446 Hello *Hello `protobuf:"bytes,1,opt,name=hello,proto3,oneof"` // executor -> host, first frame
447}
448
449type Frame_Run struct {
450 Run *Run `protobuf:"bytes,2,opt,name=run,proto3,oneof"` // host -> executor, after Hello
451}
452
453type Frame_Output struct {
454 Output *Output `protobuf:"bytes,3,opt,name=output,proto3,oneof"` // executor -> host
455}
456
457type Frame_Exit struct {
458 Exit *Exit `protobuf:"bytes,4,opt,name=exit,proto3,oneof"` // executor -> host, last frame
459}
460
461type Frame_Cancel struct {
462 Cancel *Cancel `protobuf:"bytes,5,opt,name=cancel,proto3,oneof"` // host -> executor
463}
464
465type Frame_StepStarted struct {
466 StepStarted *StepStarted `protobuf:"bytes,6,opt,name=step_started,json=stepStarted,proto3,oneof"` // executor -> host
467}
468
469type Frame_StepCompleted struct {
470 StepCompleted *StepCompleted `protobuf:"bytes,7,opt,name=step_completed,json=stepCompleted,proto3,oneof"` // executor -> host
471}
472
473type Frame_Log struct {
474 Log *Log `protobuf:"bytes,8,opt,name=log,proto3,oneof"` // executor -> host
475}
476
477type Frame_JobResult struct {
478 JobResult *JobResult `protobuf:"bytes,9,opt,name=job_result,json=jobResult,proto3,oneof"` // executor -> host, before Exit
479}
480
481type Frame_StepAnnotations struct {
482 StepAnnotations *StepAnnotations `protobuf:"bytes,10,opt,name=step_annotations,json=stepAnnotations,proto3,oneof"` // executor -> host, before the StepCompleted of the step
483}
484
485type Frame_StepSummary struct {
486 StepSummary *StepSummary `protobuf:"bytes,11,opt,name=step_summary,json=stepSummary,proto3,oneof"` // executor -> host, before the StepCompleted of the step
487}
488
489type Frame_ResolveRequest struct {
490 ResolveRequest *ResolveRequest `protobuf:"bytes,12,opt,name=resolve_request,json=resolveRequest,proto3,oneof"` // executor -> host
491}
492
493type Frame_ResolveResponse struct {
494 ResolveResponse *ResolveResponse `protobuf:"bytes,13,opt,name=resolve_response,json=resolveResponse,proto3,oneof"` // host -> executor, answers a ResolveRequest
495}
496
497type Frame_Secret struct {
498 Secret *NamedValue `protobuf:"bytes,14,opt,name=secret,proto3,oneof"` // host -> executor, one per secret, before Run
499}
500
501type Frame_Var struct {
502 Var *NamedValue `protobuf:"bytes,15,opt,name=var,proto3,oneof"` // host -> executor, one per variable, before Run
503}
504
505func (*Frame_Hello) isFrame_Body() {}
506
507func (*Frame_Run) isFrame_Body() {}
508
509func (*Frame_Output) isFrame_Body() {}
510
511func (*Frame_Exit) isFrame_Body() {}
512
513func (*Frame_Cancel) isFrame_Body() {}
514
515func (*Frame_StepStarted) isFrame_Body() {}
516
517func (*Frame_StepCompleted) isFrame_Body() {}
518
519func (*Frame_Log) isFrame_Body() {}
520
521func (*Frame_JobResult) isFrame_Body() {}
522
523func (*Frame_StepAnnotations) isFrame_Body() {}
524
525func (*Frame_StepSummary) isFrame_Body() {}
526
527func (*Frame_ResolveRequest) isFrame_Body() {}
528
529func (*Frame_ResolveResponse) isFrame_Body() {}
530
531func (*Frame_Secret) isFrame_Body() {}
532
533func (*Frame_Var) isFrame_Body() {}
534
535// NamedValue is one secret (Job.secrets) or one variable (Job.vars) of the job.
536// They travel in frames of their own, before Run, rather than in JobSpec: a
537// frame is at most 2 MiB (execstream.MaxFrame) and ermite allows many secrets of
538// 48 KiB, so a map in Run could not carry them. The executor keeps them until
539// Run arrives. Secrets are never logged nor written to disk.
540type NamedValue struct {
541 state protoimpl.MessageState `protogen:"open.v1"`
542 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
543 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
544 unknownFields protoimpl.UnknownFields
545 sizeCache protoimpl.SizeCache
546}
547
548func (x *NamedValue) Reset() {
549 *x = NamedValue{}
550 mi := &file_exec_proto_msgTypes[1]
551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
552 ms.StoreMessageInfo(mi)
553}
554
555func (x *NamedValue) String() string {
556 return protoimpl.X.MessageStringOf(x)
557}
558
559func (*NamedValue) ProtoMessage() {}
560
561func (x *NamedValue) ProtoReflect() protoreflect.Message {
562 mi := &file_exec_proto_msgTypes[1]
563 if x != nil {
564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
565 if ms.LoadMessageInfo() == nil {
566 ms.StoreMessageInfo(mi)
567 }
568 return ms
569 }
570 return mi.MessageOf(x)
571}
572
573// Deprecated: Use NamedValue.ProtoReflect.Descriptor instead.
574func (*NamedValue) Descriptor() ([]byte, []int) {
575 return file_exec_proto_rawDescGZIP(), []int{1}
576}
577
578func (x *NamedValue) GetName() string {
579 if x != nil {
580 return x.Name
581 }
582 return ""
583}
584
585func (x *NamedValue) GetValue() string {
586 if x != nil {
587 return x.Value
588 }
589 return ""
590}
591
592type Hello struct {
593 state protoimpl.MessageState `protogen:"open.v1"`
594 Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // runner version of the executor
595 Sandbox string `protobuf:"bytes,2,opt,name=sandbox,proto3" json:"sandbox,omitempty"` // "vm" or "container"
596 Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
597 unknownFields protoimpl.UnknownFields
598 sizeCache protoimpl.SizeCache
599}
600
601func (x *Hello) Reset() {
602 *x = Hello{}
603 mi := &file_exec_proto_msgTypes[2]
604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
605 ms.StoreMessageInfo(mi)
606}
607
608func (x *Hello) String() string {
609 return protoimpl.X.MessageStringOf(x)
610}
611
612func (*Hello) ProtoMessage() {}
613
614func (x *Hello) ProtoReflect() protoreflect.Message {
615 mi := &file_exec_proto_msgTypes[2]
616 if x != nil {
617 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
618 if ms.LoadMessageInfo() == nil {
619 ms.StoreMessageInfo(mi)
620 }
621 return ms
622 }
623 return mi.MessageOf(x)
624}
625
626// Deprecated: Use Hello.ProtoReflect.Descriptor instead.
627func (*Hello) Descriptor() ([]byte, []int) {
628 return file_exec_proto_rawDescGZIP(), []int{2}
629}
630
631func (x *Hello) GetVersion() string {
632 if x != nil {
633 return x.Version
634 }
635 return ""
636}
637
638func (x *Hello) GetSandbox() string {
639 if x != nil {
640 return x.Sandbox
641 }
642 return ""
643}
644
645func (x *Hello) GetHostname() string {
646 if x != nil {
647 return x.Hostname
648 }
649 return ""
650}
651
652// Run asks the executor to run a script or a job. Without job it is the stub
653// executor of sandbox-check: the script is run with `sh -c`; an empty script
654// means the built-in diagnostics script. With job the executor runs the job
655// like a GitHub Actions runner and reports it with StepStarted, Log,
656// StepCompleted and JobResult frames, then Exit.
657type Run struct {
658 state protoimpl.MessageState `protogen:"open.v1"`
659 Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
660 Env map[string]string `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
661 Job *JobSpec `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"`
662 unknownFields protoimpl.UnknownFields
663 sizeCache protoimpl.SizeCache
664}
665
666func (x *Run) Reset() {
667 *x = Run{}
668 mi := &file_exec_proto_msgTypes[3]
669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
670 ms.StoreMessageInfo(mi)
671}
672
673func (x *Run) String() string {
674 return protoimpl.X.MessageStringOf(x)
675}
676
677func (*Run) ProtoMessage() {}
678
679func (x *Run) ProtoReflect() protoreflect.Message {
680 mi := &file_exec_proto_msgTypes[3]
681 if x != nil {
682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
683 if ms.LoadMessageInfo() == nil {
684 ms.StoreMessageInfo(mi)
685 }
686 return ms
687 }
688 return mi.MessageOf(x)
689}
690
691// Deprecated: Use Run.ProtoReflect.Descriptor instead.
692func (*Run) Descriptor() ([]byte, []int) {
693 return file_exec_proto_rawDescGZIP(), []int{3}
694}
695
696func (x *Run) GetScript() string {
697 if x != nil {
698 return x.Script
699 }
700 return ""
701}
702
703func (x *Run) GetEnv() map[string]string {
704 if x != nil {
705 return x.Env
706 }
707 return nil
708}
709
710func (x *Run) GetJob() *JobSpec {
711 if x != nil {
712 return x.Job
713 }
714 return nil
715}
716
717// JobSpec is the job to run: the fields of the job that ermite handed to the
718// host process, minus the tokens (the sandbox never sees them).
719type JobSpec struct {
720 state protoimpl.MessageState `protogen:"open.v1"`
721 WorkflowPath string `protobuf:"bytes,1,opt,name=workflow_path,json=workflowPath,proto3" json:"workflow_path,omitempty"`
722 WorkflowYaml string `protobuf:"bytes,2,opt,name=workflow_yaml,json=workflowYaml,proto3" json:"workflow_yaml,omitempty"`
723 JobKey string `protobuf:"bytes,3,opt,name=job_key,json=jobKey,proto3" json:"job_key,omitempty"`
724 Matrix string `protobuf:"bytes,4,opt,name=matrix,proto3" json:"matrix,omitempty"` // JSON object
725 Contexts string `protobuf:"bytes,5,opt,name=contexts,proto3" json:"contexts,omitempty"` // JSON object
726 Repo string `protobuf:"bytes,6,opt,name=repo,proto3" json:"repo,omitempty"` // repository name
727 TimeoutMinutes int32 `protobuf:"varint,7,opt,name=timeout_minutes,json=timeoutMinutes,proto3" json:"timeout_minutes,omitempty"`
728 RunnerName string `protobuf:"bytes,8,opt,name=runner_name,json=runnerName,proto3" json:"runner_name,omitempty"`
729 RunnerVersion string `protobuf:"bytes,9,opt,name=runner_version,json=runnerVersion,proto3" json:"runner_version,omitempty"`
730 // runner_environment is the runner.environment value ("github-hosted" or "self-hosted").
731 RunnerEnvironment string `protobuf:"bytes,10,opt,name=runner_environment,json=runnerEnvironment,proto3" json:"runner_environment,omitempty"`
732 Debug bool `protobuf:"varint,11,opt,name=debug,proto3" json:"debug,omitempty"` // ACTIONS_STEP_DEBUG
733 // deadline_ms is what is left of the job timeout when the host sends this
734 // Run, in milliseconds: the timeout counts from the moment the host received
735 // the job (runner.proto: Job.timeout_minutes), not from the start of the
736 // executor, and booting the sandbox takes time. 0 means "use
737 // timeout_minutes from now".
738 DeadlineMs int64 `protobuf:"varint,12,opt,name=deadline_ms,json=deadlineMs,proto3" json:"deadline_ms,omitempty"`
739 // send_annotations and send_summaries say that the server keeps annotations
740 // (feature ci.annotations) and step summaries (ci.summaries). The executor
741 // sends StepAnnotations and StepSummary frames only when they are set.
742 SendAnnotations bool `protobuf:"varint,13,opt,name=send_annotations,json=sendAnnotations,proto3" json:"send_annotations,omitempty"`
743 SendSummaries bool `protobuf:"varint,14,opt,name=send_summaries,json=sendSummaries,proto3" json:"send_summaries,omitempty"`
744 // cache_port and cache_token, when set, are the runner's cache service for
745 // this job. The service is not on the network: the executor starts a relay
746 // on the sandbox's own loopback, 127.0.0.1:<cache_port>, that carries each
747 // connection over the host channel (a vsock port, or a Unix socket next to
748 // the executor's) to the service. The executor gives
749 // ACTIONS_CACHE_URL=http://127.0.0.1:<port>/ and the token as
750 // ACTIONS_RUNTIME_TOKEN to node and docker actions only, as the official
751 // runner does, and masks the token. The token is not an ermite credential: it
752 // is an HMAC that only the runner's cache service accepts, scoped to this
753 // job's repository and refs.
754 CachePort uint32 `protobuf:"varint,15,opt,name=cache_port,json=cachePort,proto3" json:"cache_port,omitempty"`
755 CacheToken string `protobuf:"bytes,16,opt,name=cache_token,json=cacheToken,proto3" json:"cache_token,omitempty"`
756 // secrets_withheld is set by the host when the server sends Job.trusted and
757 // the job is not trusted (feature ci.secrets): "Set up job" then says that
758 // secrets are not available. Never set for servers without the feature, for
759 // which an absent Job.trusted only means "not sent".
760 SecretsWithheld bool `protobuf:"varint,19,opt,name=secrets_withheld,json=secretsWithheld,proto3" json:"secrets_withheld,omitempty"`
761 // token_permissions are the effective permissions of the job's GITHUB_TOKEN
762 // as the server sent them (Job.permissions, feature ci.secrets): "Set up job"
763 // prints them instead of working them out from the workflow. Unset when the
764 // server sent none (an older server): the executor then reads them from the
765 // workflow.
766 TokenPermissions *TokenPermissions `protobuf:"bytes,20,opt,name=token_permissions,json=tokenPermissions,proto3" json:"token_permissions,omitempty"`
767 unknownFields protoimpl.UnknownFields
768 sizeCache protoimpl.SizeCache
769}
770
771func (x *JobSpec) Reset() {
772 *x = JobSpec{}
773 mi := &file_exec_proto_msgTypes[4]
774 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
775 ms.StoreMessageInfo(mi)
776}
777
778func (x *JobSpec) String() string {
779 return protoimpl.X.MessageStringOf(x)
780}
781
782func (*JobSpec) ProtoMessage() {}
783
784func (x *JobSpec) ProtoReflect() protoreflect.Message {
785 mi := &file_exec_proto_msgTypes[4]
786 if x != nil {
787 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
788 if ms.LoadMessageInfo() == nil {
789 ms.StoreMessageInfo(mi)
790 }
791 return ms
792 }
793 return mi.MessageOf(x)
794}
795
796// Deprecated: Use JobSpec.ProtoReflect.Descriptor instead.
797func (*JobSpec) Descriptor() ([]byte, []int) {
798 return file_exec_proto_rawDescGZIP(), []int{4}
799}
800
801func (x *JobSpec) GetWorkflowPath() string {
802 if x != nil {
803 return x.WorkflowPath
804 }
805 return ""
806}
807
808func (x *JobSpec) GetWorkflowYaml() string {
809 if x != nil {
810 return x.WorkflowYaml
811 }
812 return ""
813}
814
815func (x *JobSpec) GetJobKey() string {
816 if x != nil {
817 return x.JobKey
818 }
819 return ""
820}
821
822func (x *JobSpec) GetMatrix() string {
823 if x != nil {
824 return x.Matrix
825 }
826 return ""
827}
828
829func (x *JobSpec) GetContexts() string {
830 if x != nil {
831 return x.Contexts
832 }
833 return ""
834}
835
836func (x *JobSpec) GetRepo() string {
837 if x != nil {
838 return x.Repo
839 }
840 return ""
841}
842
843func (x *JobSpec) GetTimeoutMinutes() int32 {
844 if x != nil {
845 return x.TimeoutMinutes
846 }
847 return 0
848}
849
850func (x *JobSpec) GetRunnerName() string {
851 if x != nil {
852 return x.RunnerName
853 }
854 return ""
855}
856
857func (x *JobSpec) GetRunnerVersion() string {
858 if x != nil {
859 return x.RunnerVersion
860 }
861 return ""
862}
863
864func (x *JobSpec) GetRunnerEnvironment() string {
865 if x != nil {
866 return x.RunnerEnvironment
867 }
868 return ""
869}
870
871func (x *JobSpec) GetDebug() bool {
872 if x != nil {
873 return x.Debug
874 }
875 return false
876}
877
878func (x *JobSpec) GetDeadlineMs() int64 {
879 if x != nil {
880 return x.DeadlineMs
881 }
882 return 0
883}
884
885func (x *JobSpec) GetSendAnnotations() bool {
886 if x != nil {
887 return x.SendAnnotations
888 }
889 return false
890}
891
892func (x *JobSpec) GetSendSummaries() bool {
893 if x != nil {
894 return x.SendSummaries
895 }
896 return false
897}
898
899func (x *JobSpec) GetCachePort() uint32 {
900 if x != nil {
901 return x.CachePort
902 }
903 return 0
904}
905
906func (x *JobSpec) GetCacheToken() string {
907 if x != nil {
908 return x.CacheToken
909 }
910 return ""
911}
912
913func (x *JobSpec) GetSecretsWithheld() bool {
914 if x != nil {
915 return x.SecretsWithheld
916 }
917 return false
918}
919
920func (x *JobSpec) GetTokenPermissions() *TokenPermissions {
921 if x != nil {
922 return x.TokenPermissions
923 }
924 return nil
925}
926
927// TokenPermissions maps a permission key ("contents", "pull-requests", ...) to
928// "read", "write" or "none"; a key that is absent is none.
929type TokenPermissions struct {
930 state protoimpl.MessageState `protogen:"open.v1"`
931 Levels map[string]string `protobuf:"bytes,1,rep,name=levels,proto3" json:"levels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
932 unknownFields protoimpl.UnknownFields
933 sizeCache protoimpl.SizeCache
934}
935
936func (x *TokenPermissions) Reset() {
937 *x = TokenPermissions{}
938 mi := &file_exec_proto_msgTypes[5]
939 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
940 ms.StoreMessageInfo(mi)
941}
942
943func (x *TokenPermissions) String() string {
944 return protoimpl.X.MessageStringOf(x)
945}
946
947func (*TokenPermissions) ProtoMessage() {}
948
949func (x *TokenPermissions) ProtoReflect() protoreflect.Message {
950 mi := &file_exec_proto_msgTypes[5]
951 if x != nil {
952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
953 if ms.LoadMessageInfo() == nil {
954 ms.StoreMessageInfo(mi)
955 }
956 return ms
957 }
958 return mi.MessageOf(x)
959}
960
961// Deprecated: Use TokenPermissions.ProtoReflect.Descriptor instead.
962func (*TokenPermissions) Descriptor() ([]byte, []int) {
963 return file_exec_proto_rawDescGZIP(), []int{5}
964}
965
966func (x *TokenPermissions) GetLevels() map[string]string {
967 if x != nil {
968 return x.Levels
969 }
970 return nil
971}
972
973type Output struct {
974 state protoimpl.MessageState `protogen:"open.v1"`
975 Stream StreamKind `protobuf:"varint,1,opt,name=stream,proto3,enum=ermite.runner.exec.v1.StreamKind" json:"stream,omitempty"`
976 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
977 UnixNano int64 `protobuf:"varint,3,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
978 unknownFields protoimpl.UnknownFields
979 sizeCache protoimpl.SizeCache
980}
981
982func (x *Output) Reset() {
983 *x = Output{}
984 mi := &file_exec_proto_msgTypes[6]
985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
986 ms.StoreMessageInfo(mi)
987}
988
989func (x *Output) String() string {
990 return protoimpl.X.MessageStringOf(x)
991}
992
993func (*Output) ProtoMessage() {}
994
995func (x *Output) ProtoReflect() protoreflect.Message {
996 mi := &file_exec_proto_msgTypes[6]
997 if x != nil {
998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
999 if ms.LoadMessageInfo() == nil {
1000 ms.StoreMessageInfo(mi)
1001 }
1002 return ms
1003 }
1004 return mi.MessageOf(x)
1005}
1006
1007// Deprecated: Use Output.ProtoReflect.Descriptor instead.
1008func (*Output) Descriptor() ([]byte, []int) {
1009 return file_exec_proto_rawDescGZIP(), []int{6}
1010}
1011
1012func (x *Output) GetStream() StreamKind {
1013 if x != nil {
1014 return x.Stream
1015 }
1016 return StreamKind_STREAM_KIND_UNSPECIFIED
1017}
1018
1019func (x *Output) GetData() []byte {
1020 if x != nil {
1021 return x.Data
1022 }
1023 return nil
1024}
1025
1026func (x *Output) GetUnixNano() int64 {
1027 if x != nil {
1028 return x.UnixNano
1029 }
1030 return 0
1031}
1032
1033type Exit struct {
1034 state protoimpl.MessageState `protogen:"open.v1"`
1035 Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
1036 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // set when the executor failed to run the script at all
1037 unknownFields protoimpl.UnknownFields
1038 sizeCache protoimpl.SizeCache
1039}
1040
1041func (x *Exit) Reset() {
1042 *x = Exit{}
1043 mi := &file_exec_proto_msgTypes[7]
1044 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1045 ms.StoreMessageInfo(mi)
1046}
1047
1048func (x *Exit) String() string {
1049 return protoimpl.X.MessageStringOf(x)
1050}
1051
1052func (*Exit) ProtoMessage() {}
1053
1054func (x *Exit) ProtoReflect() protoreflect.Message {
1055 mi := &file_exec_proto_msgTypes[7]
1056 if x != nil {
1057 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1058 if ms.LoadMessageInfo() == nil {
1059 ms.StoreMessageInfo(mi)
1060 }
1061 return ms
1062 }
1063 return mi.MessageOf(x)
1064}
1065
1066// Deprecated: Use Exit.ProtoReflect.Descriptor instead.
1067func (*Exit) Descriptor() ([]byte, []int) {
1068 return file_exec_proto_rawDescGZIP(), []int{7}
1069}
1070
1071func (x *Exit) GetCode() int32 {
1072 if x != nil {
1073 return x.Code
1074 }
1075 return 0
1076}
1077
1078func (x *Exit) GetError() string {
1079 if x != nil {
1080 return x.Error
1081 }
1082 return ""
1083}
1084
1085// Cancel asks the executor to stop the running script. The executor escalates
1086// like the official runner: SIGINT to the script's process group at once,
1087// SIGTERM 7.5 s later, SIGKILL 2.5 s after that.
1088type Cancel struct {
1089 state protoimpl.MessageState `protogen:"open.v1"`
1090 // reason is for the job log and diagnostics ("cancelled by the user",
1091 // "job timeout", ...); it never changes the behaviour.
1092 Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
1093 // kind tells the job executor how the job ends: cancelled, timed out, or
1094 // cancelled because the runner shuts down. The stub executor ignores it.
1095 Kind CancelKind `protobuf:"varint,2,opt,name=kind,proto3,enum=ermite.runner.exec.v1.CancelKind" json:"kind,omitempty"`
1096 unknownFields protoimpl.UnknownFields
1097 sizeCache protoimpl.SizeCache
1098}
1099
1100func (x *Cancel) Reset() {
1101 *x = Cancel{}
1102 mi := &file_exec_proto_msgTypes[8]
1103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1104 ms.StoreMessageInfo(mi)
1105}
1106
1107func (x *Cancel) String() string {
1108 return protoimpl.X.MessageStringOf(x)
1109}
1110
1111func (*Cancel) ProtoMessage() {}
1112
1113func (x *Cancel) ProtoReflect() protoreflect.Message {
1114 mi := &file_exec_proto_msgTypes[8]
1115 if x != nil {
1116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1117 if ms.LoadMessageInfo() == nil {
1118 ms.StoreMessageInfo(mi)
1119 }
1120 return ms
1121 }
1122 return mi.MessageOf(x)
1123}
1124
1125// Deprecated: Use Cancel.ProtoReflect.Descriptor instead.
1126func (*Cancel) Descriptor() ([]byte, []int) {
1127 return file_exec_proto_rawDescGZIP(), []int{8}
1128}
1129
1130func (x *Cancel) GetReason() string {
1131 if x != nil {
1132 return x.Reason
1133 }
1134 return ""
1135}
1136
1137func (x *Cancel) GetKind() CancelKind {
1138 if x != nil {
1139 return x.Kind
1140 }
1141 return CancelKind_CANCEL_KIND_UNSPECIFIED
1142}
1143
1144// Steps are numbered like GitHub's log: "Set up job" is 1, the steps of the
1145// workflow follow, "Complete job" is last.
1146type StepStarted struct {
1147 state protoimpl.MessageState `protogen:"open.v1"`
1148 Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
1149 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1150 UnixNano int64 `protobuf:"varint,3,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1151 unknownFields protoimpl.UnknownFields
1152 sizeCache protoimpl.SizeCache
1153}
1154
1155func (x *StepStarted) Reset() {
1156 *x = StepStarted{}
1157 mi := &file_exec_proto_msgTypes[9]
1158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1159 ms.StoreMessageInfo(mi)
1160}
1161
1162func (x *StepStarted) String() string {
1163 return protoimpl.X.MessageStringOf(x)
1164}
1165
1166func (*StepStarted) ProtoMessage() {}
1167
1168func (x *StepStarted) ProtoReflect() protoreflect.Message {
1169 mi := &file_exec_proto_msgTypes[9]
1170 if x != nil {
1171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1172 if ms.LoadMessageInfo() == nil {
1173 ms.StoreMessageInfo(mi)
1174 }
1175 return ms
1176 }
1177 return mi.MessageOf(x)
1178}
1179
1180// Deprecated: Use StepStarted.ProtoReflect.Descriptor instead.
1181func (*StepStarted) Descriptor() ([]byte, []int) {
1182 return file_exec_proto_rawDescGZIP(), []int{9}
1183}
1184
1185func (x *StepStarted) GetNumber() int32 {
1186 if x != nil {
1187 return x.Number
1188 }
1189 return 0
1190}
1191
1192func (x *StepStarted) GetName() string {
1193 if x != nil {
1194 return x.Name
1195 }
1196 return ""
1197}
1198
1199func (x *StepStarted) GetUnixNano() int64 {
1200 if x != nil {
1201 return x.UnixNano
1202 }
1203 return 0
1204}
1205
1206type StepCompleted struct {
1207 state protoimpl.MessageState `protogen:"open.v1"`
1208 Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
1209 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1210 Conclusion StepConclusion `protobuf:"varint,3,opt,name=conclusion,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"conclusion,omitempty"`
1211 UnixNano int64 `protobuf:"varint,4,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1212 // outcome is steps.<id>.outcome: the result before continue-on-error. It
1213 // differs from conclusion only for a failed step with continue-on-error.
1214 // UNSPECIFIED means the same as conclusion.
1215 Outcome StepConclusion `protobuf:"varint,5,opt,name=outcome,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"outcome,omitempty"`
1216 unknownFields protoimpl.UnknownFields
1217 sizeCache protoimpl.SizeCache
1218}
1219
1220func (x *StepCompleted) Reset() {
1221 *x = StepCompleted{}
1222 mi := &file_exec_proto_msgTypes[10]
1223 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1224 ms.StoreMessageInfo(mi)
1225}
1226
1227func (x *StepCompleted) String() string {
1228 return protoimpl.X.MessageStringOf(x)
1229}
1230
1231func (*StepCompleted) ProtoMessage() {}
1232
1233func (x *StepCompleted) ProtoReflect() protoreflect.Message {
1234 mi := &file_exec_proto_msgTypes[10]
1235 if x != nil {
1236 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1237 if ms.LoadMessageInfo() == nil {
1238 ms.StoreMessageInfo(mi)
1239 }
1240 return ms
1241 }
1242 return mi.MessageOf(x)
1243}
1244
1245// Deprecated: Use StepCompleted.ProtoReflect.Descriptor instead.
1246func (*StepCompleted) Descriptor() ([]byte, []int) {
1247 return file_exec_proto_rawDescGZIP(), []int{10}
1248}
1249
1250func (x *StepCompleted) GetNumber() int32 {
1251 if x != nil {
1252 return x.Number
1253 }
1254 return 0
1255}
1256
1257func (x *StepCompleted) GetName() string {
1258 if x != nil {
1259 return x.Name
1260 }
1261 return ""
1262}
1263
1264func (x *StepCompleted) GetConclusion() StepConclusion {
1265 if x != nil {
1266 return x.Conclusion
1267 }
1268 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1269}
1270
1271func (x *StepCompleted) GetUnixNano() int64 {
1272 if x != nil {
1273 return x.UnixNano
1274 }
1275 return 0
1276}
1277
1278func (x *StepCompleted) GetOutcome() StepConclusion {
1279 if x != nil {
1280 return x.Outcome
1281 }
1282 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1283}
1284
1285// Annotation is one ::notice, ::warning or ::error (or a problem matcher
1286// match), masked. The host validates every field again before it sends them.
1287type Annotation struct {
1288 state protoimpl.MessageState `protogen:"open.v1"`
1289 Level AnnotationLevel `protobuf:"varint,1,opt,name=level,proto3,enum=ermite.runner.exec.v1.AnnotationLevel" json:"level,omitempty"`
1290 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
1291 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
1292 File string `protobuf:"bytes,4,opt,name=file,proto3" json:"file,omitempty"` // relative to the repository when the file is in it
1293 StartLine int32 `protobuf:"varint,5,opt,name=start_line,json=startLine,proto3" json:"start_line,omitempty"`
1294 EndLine int32 `protobuf:"varint,6,opt,name=end_line,json=endLine,proto3" json:"end_line,omitempty"`
1295 StartColumn int32 `protobuf:"varint,7,opt,name=start_column,json=startColumn,proto3" json:"start_column,omitempty"`
1296 EndColumn int32 `protobuf:"varint,8,opt,name=end_column,json=endColumn,proto3" json:"end_column,omitempty"`
1297 unknownFields protoimpl.UnknownFields
1298 sizeCache protoimpl.SizeCache
1299}
1300
1301func (x *Annotation) Reset() {
1302 *x = Annotation{}
1303 mi := &file_exec_proto_msgTypes[11]
1304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1305 ms.StoreMessageInfo(mi)
1306}
1307
1308func (x *Annotation) String() string {
1309 return protoimpl.X.MessageStringOf(x)
1310}
1311
1312func (*Annotation) ProtoMessage() {}
1313
1314func (x *Annotation) ProtoReflect() protoreflect.Message {
1315 mi := &file_exec_proto_msgTypes[11]
1316 if x != nil {
1317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1318 if ms.LoadMessageInfo() == nil {
1319 ms.StoreMessageInfo(mi)
1320 }
1321 return ms
1322 }
1323 return mi.MessageOf(x)
1324}
1325
1326// Deprecated: Use Annotation.ProtoReflect.Descriptor instead.
1327func (*Annotation) Descriptor() ([]byte, []int) {
1328 return file_exec_proto_rawDescGZIP(), []int{11}
1329}
1330
1331func (x *Annotation) GetLevel() AnnotationLevel {
1332 if x != nil {
1333 return x.Level
1334 }
1335 return AnnotationLevel_ANNOTATION_LEVEL_UNSPECIFIED
1336}
1337
1338func (x *Annotation) GetTitle() string {
1339 if x != nil {
1340 return x.Title
1341 }
1342 return ""
1343}
1344
1345func (x *Annotation) GetMessage() string {
1346 if x != nil {
1347 return x.Message
1348 }
1349 return ""
1350}
1351
1352func (x *Annotation) GetFile() string {
1353 if x != nil {
1354 return x.File
1355 }
1356 return ""
1357}
1358
1359func (x *Annotation) GetStartLine() int32 {
1360 if x != nil {
1361 return x.StartLine
1362 }
1363 return 0
1364}
1365
1366func (x *Annotation) GetEndLine() int32 {
1367 if x != nil {
1368 return x.EndLine
1369 }
1370 return 0
1371}
1372
1373func (x *Annotation) GetStartColumn() int32 {
1374 if x != nil {
1375 return x.StartColumn
1376 }
1377 return 0
1378}
1379
1380func (x *Annotation) GetEndColumn() int32 {
1381 if x != nil {
1382 return x.EndColumn
1383 }
1384 return 0
1385}
1386
1387// StepAnnotations is the complete list of the annotations of a step (the ones
1388// the runner keeps: at most 10 per level), replacing any earlier list of that
1389// step. Annotations of the steps inside a composite action are those of the
1390// step of the workflow that uses it.
1391type StepAnnotations struct {
1392 state protoimpl.MessageState `protogen:"open.v1"`
1393 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1394 Annotations []*Annotation `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
1395 unknownFields protoimpl.UnknownFields
1396 sizeCache protoimpl.SizeCache
1397}
1398
1399func (x *StepAnnotations) Reset() {
1400 *x = StepAnnotations{}
1401 mi := &file_exec_proto_msgTypes[12]
1402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1403 ms.StoreMessageInfo(mi)
1404}
1405
1406func (x *StepAnnotations) String() string {
1407 return protoimpl.X.MessageStringOf(x)
1408}
1409
1410func (*StepAnnotations) ProtoMessage() {}
1411
1412func (x *StepAnnotations) ProtoReflect() protoreflect.Message {
1413 mi := &file_exec_proto_msgTypes[12]
1414 if x != nil {
1415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1416 if ms.LoadMessageInfo() == nil {
1417 ms.StoreMessageInfo(mi)
1418 }
1419 return ms
1420 }
1421 return mi.MessageOf(x)
1422}
1423
1424// Deprecated: Use StepAnnotations.ProtoReflect.Descriptor instead.
1425func (*StepAnnotations) Descriptor() ([]byte, []int) {
1426 return file_exec_proto_rawDescGZIP(), []int{12}
1427}
1428
1429func (x *StepAnnotations) GetStep() int32 {
1430 if x != nil {
1431 return x.Step
1432 }
1433 return 0
1434}
1435
1436func (x *StepAnnotations) GetAnnotations() []*Annotation {
1437 if x != nil {
1438 return x.Annotations
1439 }
1440 return nil
1441}
1442
1443// StepSummary is the masked content of GITHUB_STEP_SUMMARY after a step, at
1444// most 1 MiB.
1445type StepSummary struct {
1446 state protoimpl.MessageState `protogen:"open.v1"`
1447 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1448 Markdown string `protobuf:"bytes,2,opt,name=markdown,proto3" json:"markdown,omitempty"`
1449 unknownFields protoimpl.UnknownFields
1450 sizeCache protoimpl.SizeCache
1451}
1452
1453func (x *StepSummary) Reset() {
1454 *x = StepSummary{}
1455 mi := &file_exec_proto_msgTypes[13]
1456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1457 ms.StoreMessageInfo(mi)
1458}
1459
1460func (x *StepSummary) String() string {
1461 return protoimpl.X.MessageStringOf(x)
1462}
1463
1464func (*StepSummary) ProtoMessage() {}
1465
1466func (x *StepSummary) ProtoReflect() protoreflect.Message {
1467 mi := &file_exec_proto_msgTypes[13]
1468 if x != nil {
1469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1470 if ms.LoadMessageInfo() == nil {
1471 ms.StoreMessageInfo(mi)
1472 }
1473 return ms
1474 }
1475 return mi.MessageOf(x)
1476}
1477
1478// Deprecated: Use StepSummary.ProtoReflect.Descriptor instead.
1479func (*StepSummary) Descriptor() ([]byte, []int) {
1480 return file_exec_proto_rawDescGZIP(), []int{13}
1481}
1482
1483func (x *StepSummary) GetStep() int32 {
1484 if x != nil {
1485 return x.Step
1486 }
1487 return 0
1488}
1489
1490func (x *StepSummary) GetMarkdown() string {
1491 if x != nil {
1492 return x.Markdown
1493 }
1494 return ""
1495}
1496
1497// Log is one line of the job log, without terminator, valid UTF-8. A line of
1498// more than 64 KiB is cut by the executor into pieces at character boundaries;
1499// every piece but the first has continued set (the AppendLog rule).
1500type Log struct {
1501 state protoimpl.MessageState `protogen:"open.v1"`
1502 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1503 UnixNano int64 `protobuf:"varint,2,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1504 Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
1505 Continued bool `protobuf:"varint,4,opt,name=continued,proto3" json:"continued,omitempty"`
1506 unknownFields protoimpl.UnknownFields
1507 sizeCache protoimpl.SizeCache
1508}
1509
1510func (x *Log) Reset() {
1511 *x = Log{}
1512 mi := &file_exec_proto_msgTypes[14]
1513 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1514 ms.StoreMessageInfo(mi)
1515}
1516
1517func (x *Log) String() string {
1518 return protoimpl.X.MessageStringOf(x)
1519}
1520
1521func (*Log) ProtoMessage() {}
1522
1523func (x *Log) ProtoReflect() protoreflect.Message {
1524 mi := &file_exec_proto_msgTypes[14]
1525 if x != nil {
1526 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1527 if ms.LoadMessageInfo() == nil {
1528 ms.StoreMessageInfo(mi)
1529 }
1530 return ms
1531 }
1532 return mi.MessageOf(x)
1533}
1534
1535// Deprecated: Use Log.ProtoReflect.Descriptor instead.
1536func (*Log) Descriptor() ([]byte, []int) {
1537 return file_exec_proto_rawDescGZIP(), []int{14}
1538}
1539
1540func (x *Log) GetStep() int32 {
1541 if x != nil {
1542 return x.Step
1543 }
1544 return 0
1545}
1546
1547func (x *Log) GetUnixNano() int64 {
1548 if x != nil {
1549 return x.UnixNano
1550 }
1551 return 0
1552}
1553
1554func (x *Log) GetText() string {
1555 if x != nil {
1556 return x.Text
1557 }
1558 return ""
1559}
1560
1561func (x *Log) GetContinued() bool {
1562 if x != nil {
1563 return x.Continued
1564 }
1565 return false
1566}
1567
1568// JobResult is the outcome of the job; Exit follows.
1569type JobResult struct {
1570 state protoimpl.MessageState `protogen:"open.v1"`
1571 Conclusion StepConclusion `protobuf:"varint,1,opt,name=conclusion,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"conclusion,omitempty"`
1572 Outputs map[string]string `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1573 Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
1574 RunnerShutdown bool `protobuf:"varint,4,opt,name=runner_shutdown,json=runnerShutdown,proto3" json:"runner_shutdown,omitempty"`
1575 unknownFields protoimpl.UnknownFields
1576 sizeCache protoimpl.SizeCache
1577}
1578
1579func (x *JobResult) Reset() {
1580 *x = JobResult{}
1581 mi := &file_exec_proto_msgTypes[15]
1582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1583 ms.StoreMessageInfo(mi)
1584}
1585
1586func (x *JobResult) String() string {
1587 return protoimpl.X.MessageStringOf(x)
1588}
1589
1590func (*JobResult) ProtoMessage() {}
1591
1592func (x *JobResult) ProtoReflect() protoreflect.Message {
1593 mi := &file_exec_proto_msgTypes[15]
1594 if x != nil {
1595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1596 if ms.LoadMessageInfo() == nil {
1597 ms.StoreMessageInfo(mi)
1598 }
1599 return ms
1600 }
1601 return mi.MessageOf(x)
1602}
1603
1604// Deprecated: Use JobResult.ProtoReflect.Descriptor instead.
1605func (*JobResult) Descriptor() ([]byte, []int) {
1606 return file_exec_proto_rawDescGZIP(), []int{15}
1607}
1608
1609func (x *JobResult) GetConclusion() StepConclusion {
1610 if x != nil {
1611 return x.Conclusion
1612 }
1613 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1614}
1615
1616func (x *JobResult) GetOutputs() map[string]string {
1617 if x != nil {
1618 return x.Outputs
1619 }
1620 return nil
1621}
1622
1623func (x *JobResult) GetError() string {
1624 if x != nil {
1625 return x.Error
1626 }
1627 return ""
1628}
1629
1630func (x *JobResult) GetRunnerShutdown() bool {
1631 if x != nil {
1632 return x.RunnerShutdown
1633 }
1634 return false
1635}
1636
1637// ResolveRequest asks the host to resolve actions with RunnerService.
1638// ResolveActions: the job token stays in the host, so the executor cannot call
1639// it. The executor sends one per level of composite actions (the runner's own
1640// "one more round per level") and waits for the ResolveResponse with the same id.
1641type ResolveRequest struct {
1642 state protoimpl.MessageState `protogen:"open.v1"`
1643 Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
1644 Uses []string `protobuf:"bytes,2,rep,name=uses,proto3" json:"uses,omitempty"` // "owner/repo[/path]@ref", at most 100
1645 unknownFields protoimpl.UnknownFields
1646 sizeCache protoimpl.SizeCache
1647}
1648
1649func (x *ResolveRequest) Reset() {
1650 *x = ResolveRequest{}
1651 mi := &file_exec_proto_msgTypes[16]
1652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1653 ms.StoreMessageInfo(mi)
1654}
1655
1656func (x *ResolveRequest) String() string {
1657 return protoimpl.X.MessageStringOf(x)
1658}
1659
1660func (*ResolveRequest) ProtoMessage() {}
1661
1662func (x *ResolveRequest) ProtoReflect() protoreflect.Message {
1663 mi := &file_exec_proto_msgTypes[16]
1664 if x != nil {
1665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1666 if ms.LoadMessageInfo() == nil {
1667 ms.StoreMessageInfo(mi)
1668 }
1669 return ms
1670 }
1671 return mi.MessageOf(x)
1672}
1673
1674// Deprecated: Use ResolveRequest.ProtoReflect.Descriptor instead.
1675func (*ResolveRequest) Descriptor() ([]byte, []int) {
1676 return file_exec_proto_rawDescGZIP(), []int{16}
1677}
1678
1679func (x *ResolveRequest) GetId() int64 {
1680 if x != nil {
1681 return x.Id
1682 }
1683 return 0
1684}
1685
1686func (x *ResolveRequest) GetUses() []string {
1687 if x != nil {
1688 return x.Uses
1689 }
1690 return nil
1691}
1692
1693// ResolveResponse answers a ResolveRequest. error is set when the call itself
1694// failed (the executor fails the job); actions has one entry per uses otherwise.
1695type ResolveResponse struct {
1696 state protoimpl.MessageState `protogen:"open.v1"`
1697 Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
1698 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
1699 Actions []*ResolvedAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
1700 unknownFields protoimpl.UnknownFields
1701 sizeCache protoimpl.SizeCache
1702}
1703
1704func (x *ResolveResponse) Reset() {
1705 *x = ResolveResponse{}
1706 mi := &file_exec_proto_msgTypes[17]
1707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1708 ms.StoreMessageInfo(mi)
1709}
1710
1711func (x *ResolveResponse) String() string {
1712 return protoimpl.X.MessageStringOf(x)
1713}
1714
1715func (*ResolveResponse) ProtoMessage() {}
1716
1717func (x *ResolveResponse) ProtoReflect() protoreflect.Message {
1718 mi := &file_exec_proto_msgTypes[17]
1719 if x != nil {
1720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1721 if ms.LoadMessageInfo() == nil {
1722 ms.StoreMessageInfo(mi)
1723 }
1724 return ms
1725 }
1726 return mi.MessageOf(x)
1727}
1728
1729// Deprecated: Use ResolveResponse.ProtoReflect.Descriptor instead.
1730func (*ResolveResponse) Descriptor() ([]byte, []int) {
1731 return file_exec_proto_rawDescGZIP(), []int{17}
1732}
1733
1734func (x *ResolveResponse) GetId() int64 {
1735 if x != nil {
1736 return x.Id
1737 }
1738 return 0
1739}
1740
1741func (x *ResolveResponse) GetError() string {
1742 if x != nil {
1743 return x.Error
1744 }
1745 return ""
1746}
1747
1748func (x *ResolveResponse) GetActions() []*ResolvedAction {
1749 if x != nil {
1750 return x.Actions
1751 }
1752 return nil
1753}
1754
1755// ResolvedAction mirrors ermite.ResolvedAction (the token is a secret: the
1756// executor masks it).
1757type ResolvedAction struct {
1758 state protoimpl.MessageState `protogen:"open.v1"`
1759 Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
1760 NameWithOwner string `protobuf:"bytes,2,opt,name=name_with_owner,json=nameWithOwner,proto3" json:"name_with_owner,omitempty"`
1761 Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
1762 ResolvedSha string `protobuf:"bytes,4,opt,name=resolved_sha,json=resolvedSha,proto3" json:"resolved_sha,omitempty"`
1763 TarballUrl string `protobuf:"bytes,5,opt,name=tarball_url,json=tarballUrl,proto3" json:"tarball_url,omitempty"`
1764 Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"`
1765 Source string `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"`
1766 Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
1767 // auth_origin (scheme://host[:port], as the sandbox reaches it) is the only
1768 // origin the token may be sent to; empty means the token is never sent. The
1769 // host sets it for archives served by the ermite server, from its own
1770 // configuration, never from the URL alone.
1771 AuthOrigin string `protobuf:"bytes,9,opt,name=auth_origin,json=authOrigin,proto3" json:"auth_origin,omitempty"`
1772 unknownFields protoimpl.UnknownFields
1773 sizeCache protoimpl.SizeCache
1774}
1775
1776func (x *ResolvedAction) Reset() {
1777 *x = ResolvedAction{}
1778 mi := &file_exec_proto_msgTypes[18]
1779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1780 ms.StoreMessageInfo(mi)
1781}
1782
1783func (x *ResolvedAction) String() string {
1784 return protoimpl.X.MessageStringOf(x)
1785}
1786
1787func (*ResolvedAction) ProtoMessage() {}
1788
1789func (x *ResolvedAction) ProtoReflect() protoreflect.Message {
1790 mi := &file_exec_proto_msgTypes[18]
1791 if x != nil {
1792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1793 if ms.LoadMessageInfo() == nil {
1794 ms.StoreMessageInfo(mi)
1795 }
1796 return ms
1797 }
1798 return mi.MessageOf(x)
1799}
1800
1801// Deprecated: Use ResolvedAction.ProtoReflect.Descriptor instead.
1802func (*ResolvedAction) Descriptor() ([]byte, []int) {
1803 return file_exec_proto_rawDescGZIP(), []int{18}
1804}
1805
1806func (x *ResolvedAction) GetRef() string {
1807 if x != nil {
1808 return x.Ref
1809 }
1810 return ""
1811}
1812
1813func (x *ResolvedAction) GetNameWithOwner() string {
1814 if x != nil {
1815 return x.NameWithOwner
1816 }
1817 return ""
1818}
1819
1820func (x *ResolvedAction) GetPath() string {
1821 if x != nil {
1822 return x.Path
1823 }
1824 return ""
1825}
1826
1827func (x *ResolvedAction) GetResolvedSha() string {
1828 if x != nil {
1829 return x.ResolvedSha
1830 }
1831 return ""
1832}
1833
1834func (x *ResolvedAction) GetTarballUrl() string {
1835 if x != nil {
1836 return x.TarballUrl
1837 }
1838 return ""
1839}
1840
1841func (x *ResolvedAction) GetToken() string {
1842 if x != nil {
1843 return x.Token
1844 }
1845 return ""
1846}
1847
1848func (x *ResolvedAction) GetSource() string {
1849 if x != nil {
1850 return x.Source
1851 }
1852 return ""
1853}
1854
1855func (x *ResolvedAction) GetError() string {
1856 if x != nil {
1857 return x.Error
1858 }
1859 return ""
1860}
1861
1862func (x *ResolvedAction) GetAuthOrigin() string {
1863 if x != nil {
1864 return x.AuthOrigin
1865 }
1866 return ""
1867}
1868
1869var File_exec_proto protoreflect.FileDescriptor
1870
1871const file_exec_proto_rawDesc = "" +
1872 "\n" +
1873 "\n" +
1874 "exec.proto\x12\x15ermite.runner.exec.v1\"\xde\a\n" +
1875 "\x05Frame\x124\n" +
1876 "\x05hello\x18\x01 \x01(\v2\x1c.ermite.runner.exec.v1.HelloH\x00R\x05hello\x12.\n" +
1877 "\x03run\x18\x02 \x01(\v2\x1a.ermite.runner.exec.v1.RunH\x00R\x03run\x127\n" +
1878 "\x06output\x18\x03 \x01(\v2\x1d.ermite.runner.exec.v1.OutputH\x00R\x06output\x121\n" +
1879 "\x04exit\x18\x04 \x01(\v2\x1b.ermite.runner.exec.v1.ExitH\x00R\x04exit\x127\n" +
1880 "\x06cancel\x18\x05 \x01(\v2\x1d.ermite.runner.exec.v1.CancelH\x00R\x06cancel\x12G\n" +
1881 "\fstep_started\x18\x06 \x01(\v2\".ermite.runner.exec.v1.StepStartedH\x00R\vstepStarted\x12M\n" +
1882 "\x0estep_completed\x18\a \x01(\v2$.ermite.runner.exec.v1.StepCompletedH\x00R\rstepCompleted\x12.\n" +
1883 "\x03log\x18\b \x01(\v2\x1a.ermite.runner.exec.v1.LogH\x00R\x03log\x12A\n" +
1884 "\n" +
1885 "job_result\x18\t \x01(\v2 .ermite.runner.exec.v1.JobResultH\x00R\tjobResult\x12S\n" +
1886 "\x10step_annotations\x18\n" +
1887 " \x01(\v2&.ermite.runner.exec.v1.StepAnnotationsH\x00R\x0fstepAnnotations\x12G\n" +
1888 "\fstep_summary\x18\v \x01(\v2\".ermite.runner.exec.v1.StepSummaryH\x00R\vstepSummary\x12P\n" +
1889 "\x0fresolve_request\x18\f \x01(\v2%.ermite.runner.exec.v1.ResolveRequestH\x00R\x0eresolveRequest\x12S\n" +
1890 "\x10resolve_response\x18\r \x01(\v2&.ermite.runner.exec.v1.ResolveResponseH\x00R\x0fresolveResponse\x12;\n" +
1891 "\x06secret\x18\x0e \x01(\v2!.ermite.runner.exec.v1.NamedValueH\x00R\x06secret\x125\n" +
1892 "\x03var\x18\x0f \x01(\v2!.ermite.runner.exec.v1.NamedValueH\x00R\x03varB\x06\n" +
1893 "\x04body\"6\n" +
1894 "\n" +
1895 "NamedValue\x12\x12\n" +
1896 "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
1897 "\x05value\x18\x02 \x01(\tR\x05value\"W\n" +
1898 "\x05Hello\x12\x18\n" +
1899 "\aversion\x18\x01 \x01(\tR\aversion\x12\x18\n" +
1900 "\asandbox\x18\x02 \x01(\tR\asandbox\x12\x1a\n" +
1901 "\bhostname\x18\x03 \x01(\tR\bhostname\"\xbe\x01\n" +
1902 "\x03Run\x12\x16\n" +
1903 "\x06script\x18\x01 \x01(\tR\x06script\x125\n" +
1904 "\x03env\x18\x02 \x03(\v2#.ermite.runner.exec.v1.Run.EnvEntryR\x03env\x120\n" +
1905 "\x03job\x18\x03 \x01(\v2\x1e.ermite.runner.exec.v1.JobSpecR\x03job\x1a6\n" +
1906 "\bEnvEntry\x12\x10\n" +
1907 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
1908 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb9\x05\n" +
1909 "\aJobSpec\x12#\n" +
1910 "\rworkflow_path\x18\x01 \x01(\tR\fworkflowPath\x12#\n" +
1911 "\rworkflow_yaml\x18\x02 \x01(\tR\fworkflowYaml\x12\x17\n" +
1912 "\ajob_key\x18\x03 \x01(\tR\x06jobKey\x12\x16\n" +
1913 "\x06matrix\x18\x04 \x01(\tR\x06matrix\x12\x1a\n" +
1914 "\bcontexts\x18\x05 \x01(\tR\bcontexts\x12\x12\n" +
1915 "\x04repo\x18\x06 \x01(\tR\x04repo\x12'\n" +
1916 "\x0ftimeout_minutes\x18\a \x01(\x05R\x0etimeoutMinutes\x12\x1f\n" +
1917 "\vrunner_name\x18\b \x01(\tR\n" +
1918 "runnerName\x12%\n" +
1919 "\x0erunner_version\x18\t \x01(\tR\rrunnerVersion\x12-\n" +
1920 "\x12runner_environment\x18\n" +
1921 " \x01(\tR\x11runnerEnvironment\x12\x14\n" +
1922 "\x05debug\x18\v \x01(\bR\x05debug\x12\x1f\n" +
1923 "\vdeadline_ms\x18\f \x01(\x03R\n" +
1924 "deadlineMs\x12)\n" +
1925 "\x10send_annotations\x18\r \x01(\bR\x0fsendAnnotations\x12%\n" +
1926 "\x0esend_summaries\x18\x0e \x01(\bR\rsendSummaries\x12\x1d\n" +
1927 "\n" +
1928 "cache_port\x18\x0f \x01(\rR\tcachePort\x12\x1f\n" +
1929 "\vcache_token\x18\x10 \x01(\tR\n" +
1930 "cacheToken\x12)\n" +
1931 "\x10secrets_withheld\x18\x13 \x01(\bR\x0fsecretsWithheld\x12T\n" +
1932 "\x11token_permissions\x18\x14 \x01(\v2'.ermite.runner.exec.v1.TokenPermissionsR\x10tokenPermissionsJ\x04\b\x11\x10\x12J\x04\b\x12\x10\x13R\asecretsR\x04vars\"\x9a\x01\n" +
1933 "\x10TokenPermissions\x12K\n" +
1934 "\x06levels\x18\x01 \x03(\v23.ermite.runner.exec.v1.TokenPermissions.LevelsEntryR\x06levels\x1a9\n" +
1935 "\vLevelsEntry\x12\x10\n" +
1936 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
1937 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"t\n" +
1938 "\x06Output\x129\n" +
1939 "\x06stream\x18\x01 \x01(\x0e2!.ermite.runner.exec.v1.StreamKindR\x06stream\x12\x12\n" +
1940 "\x04data\x18\x02 \x01(\fR\x04data\x12\x1b\n" +
1941 "\tunix_nano\x18\x03 \x01(\x03R\bunixNano\"0\n" +
1942 "\x04Exit\x12\x12\n" +
1943 "\x04code\x18\x01 \x01(\x05R\x04code\x12\x14\n" +
1944 "\x05error\x18\x02 \x01(\tR\x05error\"W\n" +
1945 "\x06Cancel\x12\x16\n" +
1946 "\x06reason\x18\x01 \x01(\tR\x06reason\x125\n" +
1947 "\x04kind\x18\x02 \x01(\x0e2!.ermite.runner.exec.v1.CancelKindR\x04kind\"V\n" +
1948 "\vStepStarted\x12\x16\n" +
1949 "\x06number\x18\x01 \x01(\x05R\x06number\x12\x12\n" +
1950 "\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n" +
1951 "\tunix_nano\x18\x03 \x01(\x03R\bunixNano\"\xe0\x01\n" +
1952 "\rStepCompleted\x12\x16\n" +
1953 "\x06number\x18\x01 \x01(\x05R\x06number\x12\x12\n" +
1954 "\x04name\x18\x02 \x01(\tR\x04name\x12E\n" +
1955 "\n" +
1956 "conclusion\x18\x03 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\n" +
1957 "conclusion\x12\x1b\n" +
1958 "\tunix_nano\x18\x04 \x01(\x03R\bunixNano\x12?\n" +
1959 "\aoutcome\x18\x05 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\aoutcome\"\x8a\x02\n" +
1960 "\n" +
1961 "Annotation\x12<\n" +
1962 "\x05level\x18\x01 \x01(\x0e2&.ermite.runner.exec.v1.AnnotationLevelR\x05level\x12\x14\n" +
1963 "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
1964 "\amessage\x18\x03 \x01(\tR\amessage\x12\x12\n" +
1965 "\x04file\x18\x04 \x01(\tR\x04file\x12\x1d\n" +
1966 "\n" +
1967 "start_line\x18\x05 \x01(\x05R\tstartLine\x12\x19\n" +
1968 "\bend_line\x18\x06 \x01(\x05R\aendLine\x12!\n" +
1969 "\fstart_column\x18\a \x01(\x05R\vstartColumn\x12\x1d\n" +
1970 "\n" +
1971 "end_column\x18\b \x01(\x05R\tendColumn\"j\n" +
1972 "\x0fStepAnnotations\x12\x12\n" +
1973 "\x04step\x18\x01 \x01(\x05R\x04step\x12C\n" +
1974 "\vannotations\x18\x02 \x03(\v2!.ermite.runner.exec.v1.AnnotationR\vannotations\"=\n" +
1975 "\vStepSummary\x12\x12\n" +
1976 "\x04step\x18\x01 \x01(\x05R\x04step\x12\x1a\n" +
1977 "\bmarkdown\x18\x02 \x01(\tR\bmarkdown\"h\n" +
1978 "\x03Log\x12\x12\n" +
1979 "\x04step\x18\x01 \x01(\x05R\x04step\x12\x1b\n" +
1980 "\tunix_nano\x18\x02 \x01(\x03R\bunixNano\x12\x12\n" +
1981 "\x04text\x18\x03 \x01(\tR\x04text\x12\x1c\n" +
1982 "\tcontinued\x18\x04 \x01(\bR\tcontinued\"\x96\x02\n" +
1983 "\tJobResult\x12E\n" +
1984 "\n" +
1985 "conclusion\x18\x01 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\n" +
1986 "conclusion\x12G\n" +
1987 "\aoutputs\x18\x02 \x03(\v2-.ermite.runner.exec.v1.JobResult.OutputsEntryR\aoutputs\x12\x14\n" +
1988 "\x05error\x18\x03 \x01(\tR\x05error\x12'\n" +
1989 "\x0frunner_shutdown\x18\x04 \x01(\bR\x0erunnerShutdown\x1a:\n" +
1990 "\fOutputsEntry\x12\x10\n" +
1991 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
1992 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"4\n" +
1993 "\x0eResolveRequest\x12\x0e\n" +
1994 "\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
1995 "\x04uses\x18\x02 \x03(\tR\x04uses\"x\n" +
1996 "\x0fResolveResponse\x12\x0e\n" +
1997 "\x02id\x18\x01 \x01(\x03R\x02id\x12\x14\n" +
1998 "\x05error\x18\x02 \x01(\tR\x05error\x12?\n" +
1999 "\aactions\x18\x03 \x03(\v2%.ermite.runner.exec.v1.ResolvedActionR\aactions\"\x87\x02\n" +
2000 "\x0eResolvedAction\x12\x10\n" +
2001 "\x03ref\x18\x01 \x01(\tR\x03ref\x12&\n" +
2002 "\x0fname_with_owner\x18\x02 \x01(\tR\rnameWithOwner\x12\x12\n" +
2003 "\x04path\x18\x03 \x01(\tR\x04path\x12!\n" +
2004 "\fresolved_sha\x18\x04 \x01(\tR\vresolvedSha\x12\x1f\n" +
2005 "\vtarball_url\x18\x05 \x01(\tR\n" +
2006 "tarballUrl\x12\x14\n" +
2007 "\x05token\x18\x06 \x01(\tR\x05token\x12\x16\n" +
2008 "\x06source\x18\a \x01(\tR\x06source\x12\x14\n" +
2009 "\x05error\x18\b \x01(\tR\x05error\x12\x1f\n" +
2010 "\vauth_origin\x18\t \x01(\tR\n" +
2011 "authOrigin*Y\n" +
2012 "\n" +
2013 "StreamKind\x12\x1b\n" +
2014 "\x17STREAM_KIND_UNSPECIFIED\x10\x00\x12\x16\n" +
2015 "\x12STREAM_KIND_STDOUT\x10\x01\x12\x16\n" +
2016 "\x12STREAM_KIND_STDERR\x10\x02*r\n" +
2017 "\n" +
2018 "CancelKind\x12\x1b\n" +
2019 "\x17CANCEL_KIND_UNSPECIFIED\x10\x00\x12\x14\n" +
2020 "\x10CANCEL_KIND_USER\x10\x01\x12\x17\n" +
2021 "\x13CANCEL_KIND_TIMEOUT\x10\x02\x12\x18\n" +
2022 "\x14CANCEL_KIND_SHUTDOWN\x10\x03*\x8c\x01\n" +
2023 "\x0fAnnotationLevel\x12 \n" +
2024 "\x1cANNOTATION_LEVEL_UNSPECIFIED\x10\x00\x12\x1b\n" +
2025 "\x17ANNOTATION_LEVEL_NOTICE\x10\x01\x12\x1c\n" +
2026 "\x18ANNOTATION_LEVEL_WARNING\x10\x02\x12\x1c\n" +
2027 "\x18ANNOTATION_LEVEL_FAILURE\x10\x03*\xc6\x01\n" +
2028 "\x0eStepConclusion\x12\x1f\n" +
2029 "\x1bSTEP_CONCLUSION_UNSPECIFIED\x10\x00\x12\x1b\n" +
2030 "\x17STEP_CONCLUSION_SUCCESS\x10\x01\x12\x1b\n" +
2031 "\x17STEP_CONCLUSION_FAILURE\x10\x02\x12\x1d\n" +
2032 "\x19STEP_CONCLUSION_CANCELLED\x10\x03\x12\x1b\n" +
2033 "\x17STEP_CONCLUSION_SKIPPED\x10\x04\x12\x1d\n" +
2034 "\x19STEP_CONCLUSION_TIMED_OUT\x10\x05B4Z2bnema.dev/ermite-runner/internal/execstream/execpbb\x06proto3"
2035
2036var (
2037 file_exec_proto_rawDescOnce sync.Once
2038 file_exec_proto_rawDescData []byte
2039)
2040
2041func file_exec_proto_rawDescGZIP() []byte {
2042 file_exec_proto_rawDescOnce.Do(func() {
2043 file_exec_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_exec_proto_rawDesc), len(file_exec_proto_rawDesc)))
2044 })
2045 return file_exec_proto_rawDescData
2046}
2047
2048var file_exec_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2049var file_exec_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
2050var file_exec_proto_goTypes = []any{
2051 (StreamKind)(0), // 0: ermite.runner.exec.v1.StreamKind
2052 (CancelKind)(0), // 1: ermite.runner.exec.v1.CancelKind
2053 (AnnotationLevel)(0), // 2: ermite.runner.exec.v1.AnnotationLevel
2054 (StepConclusion)(0), // 3: ermite.runner.exec.v1.StepConclusion
2055 (*Frame)(nil), // 4: ermite.runner.exec.v1.Frame
2056 (*NamedValue)(nil), // 5: ermite.runner.exec.v1.NamedValue
2057 (*Hello)(nil), // 6: ermite.runner.exec.v1.Hello
2058 (*Run)(nil), // 7: ermite.runner.exec.v1.Run
2059 (*JobSpec)(nil), // 8: ermite.runner.exec.v1.JobSpec
2060 (*TokenPermissions)(nil), // 9: ermite.runner.exec.v1.TokenPermissions
2061 (*Output)(nil), // 10: ermite.runner.exec.v1.Output
2062 (*Exit)(nil), // 11: ermite.runner.exec.v1.Exit
2063 (*Cancel)(nil), // 12: ermite.runner.exec.v1.Cancel
2064 (*StepStarted)(nil), // 13: ermite.runner.exec.v1.StepStarted
2065 (*StepCompleted)(nil), // 14: ermite.runner.exec.v1.StepCompleted
2066 (*Annotation)(nil), // 15: ermite.runner.exec.v1.Annotation
2067 (*StepAnnotations)(nil), // 16: ermite.runner.exec.v1.StepAnnotations
2068 (*StepSummary)(nil), // 17: ermite.runner.exec.v1.StepSummary
2069 (*Log)(nil), // 18: ermite.runner.exec.v1.Log
2070 (*JobResult)(nil), // 19: ermite.runner.exec.v1.JobResult
2071 (*ResolveRequest)(nil), // 20: ermite.runner.exec.v1.ResolveRequest
2072 (*ResolveResponse)(nil), // 21: ermite.runner.exec.v1.ResolveResponse
2073 (*ResolvedAction)(nil), // 22: ermite.runner.exec.v1.ResolvedAction
2074 nil, // 23: ermite.runner.exec.v1.Run.EnvEntry
2075 nil, // 24: ermite.runner.exec.v1.TokenPermissions.LevelsEntry
2076 nil, // 25: ermite.runner.exec.v1.JobResult.OutputsEntry
2077}
2078var file_exec_proto_depIdxs = []int32{
2079 6, // 0: ermite.runner.exec.v1.Frame.hello:type_name -> ermite.runner.exec.v1.Hello
2080 7, // 1: ermite.runner.exec.v1.Frame.run:type_name -> ermite.runner.exec.v1.Run
2081 10, // 2: ermite.runner.exec.v1.Frame.output:type_name -> ermite.runner.exec.v1.Output
2082 11, // 3: ermite.runner.exec.v1.Frame.exit:type_name -> ermite.runner.exec.v1.Exit
2083 12, // 4: ermite.runner.exec.v1.Frame.cancel:type_name -> ermite.runner.exec.v1.Cancel
2084 13, // 5: ermite.runner.exec.v1.Frame.step_started:type_name -> ermite.runner.exec.v1.StepStarted
2085 14, // 6: ermite.runner.exec.v1.Frame.step_completed:type_name -> ermite.runner.exec.v1.StepCompleted
2086 18, // 7: ermite.runner.exec.v1.Frame.log:type_name -> ermite.runner.exec.v1.Log
2087 19, // 8: ermite.runner.exec.v1.Frame.job_result:type_name -> ermite.runner.exec.v1.JobResult
2088 16, // 9: ermite.runner.exec.v1.Frame.step_annotations:type_name -> ermite.runner.exec.v1.StepAnnotations
2089 17, // 10: ermite.runner.exec.v1.Frame.step_summary:type_name -> ermite.runner.exec.v1.StepSummary
2090 20, // 11: ermite.runner.exec.v1.Frame.resolve_request:type_name -> ermite.runner.exec.v1.ResolveRequest
2091 21, // 12: ermite.runner.exec.v1.Frame.resolve_response:type_name -> ermite.runner.exec.v1.ResolveResponse
2092 5, // 13: ermite.runner.exec.v1.Frame.secret:type_name -> ermite.runner.exec.v1.NamedValue
2093 5, // 14: ermite.runner.exec.v1.Frame.var:type_name -> ermite.runner.exec.v1.NamedValue
2094 23, // 15: ermite.runner.exec.v1.Run.env:type_name -> ermite.runner.exec.v1.Run.EnvEntry
2095 8, // 16: ermite.runner.exec.v1.Run.job:type_name -> ermite.runner.exec.v1.JobSpec
2096 9, // 17: ermite.runner.exec.v1.JobSpec.token_permissions:type_name -> ermite.runner.exec.v1.TokenPermissions
2097 24, // 18: ermite.runner.exec.v1.TokenPermissions.levels:type_name -> ermite.runner.exec.v1.TokenPermissions.LevelsEntry
2098 0, // 19: ermite.runner.exec.v1.Output.stream:type_name -> ermite.runner.exec.v1.StreamKind
2099 1, // 20: ermite.runner.exec.v1.Cancel.kind:type_name -> ermite.runner.exec.v1.CancelKind
2100 3, // 21: ermite.runner.exec.v1.StepCompleted.conclusion:type_name -> ermite.runner.exec.v1.StepConclusion
2101 3, // 22: ermite.runner.exec.v1.StepCompleted.outcome:type_name -> ermite.runner.exec.v1.StepConclusion
2102 2, // 23: ermite.runner.exec.v1.Annotation.level:type_name -> ermite.runner.exec.v1.AnnotationLevel
2103 15, // 24: ermite.runner.exec.v1.StepAnnotations.annotations:type_name -> ermite.runner.exec.v1.Annotation
2104 3, // 25: ermite.runner.exec.v1.JobResult.conclusion:type_name -> ermite.runner.exec.v1.StepConclusion
2105 25, // 26: ermite.runner.exec.v1.JobResult.outputs:type_name -> ermite.runner.exec.v1.JobResult.OutputsEntry
2106 22, // 27: ermite.runner.exec.v1.ResolveResponse.actions:type_name -> ermite.runner.exec.v1.ResolvedAction
2107 28, // [28:28] is the sub-list for method output_type
2108 28, // [28:28] is the sub-list for method input_type
2109 28, // [28:28] is the sub-list for extension type_name
2110 28, // [28:28] is the sub-list for extension extendee
2111 0, // [0:28] is the sub-list for field type_name
2112}
2113
2114func init() { file_exec_proto_init() }
2115func file_exec_proto_init() {
2116 if File_exec_proto != nil {
2117 return
2118 }
2119 file_exec_proto_msgTypes[0].OneofWrappers = []any{
2120 (*Frame_Hello)(nil),
2121 (*Frame_Run)(nil),
2122 (*Frame_Output)(nil),
2123 (*Frame_Exit)(nil),
2124 (*Frame_Cancel)(nil),
2125 (*Frame_StepStarted)(nil),
2126 (*Frame_StepCompleted)(nil),
2127 (*Frame_Log)(nil),
2128 (*Frame_JobResult)(nil),
2129 (*Frame_StepAnnotations)(nil),
2130 (*Frame_StepSummary)(nil),
2131 (*Frame_ResolveRequest)(nil),
2132 (*Frame_ResolveResponse)(nil),
2133 (*Frame_Secret)(nil),
2134 (*Frame_Var)(nil),
2135 }
2136 type x struct{}
2137 out := protoimpl.TypeBuilder{
2138 File: protoimpl.DescBuilder{
2139 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2140 RawDescriptor: unsafe.Slice(unsafe.StringData(file_exec_proto_rawDesc), len(file_exec_proto_rawDesc)),
2141 NumEnums: 4,
2142 NumMessages: 22,
2143 NumExtensions: 0,
2144 NumServices: 0,
2145 },
2146 GoTypes: file_exec_proto_goTypes,
2147 DependencyIndexes: file_exec_proto_depIdxs,
2148 EnumInfos: file_exec_proto_enumTypes,
2149 MessageInfos: file_exec_proto_msgTypes,
2150 }.Build()
2151 File_exec_proto = out.File
2152 file_exec_proto_goTypes = nil
2153 file_exec_proto_depIdxs = nil
2154}