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 BootMs map[string]int64 `protobuf:"bytes,4,rep,name=boot_ms,json=bootMs,proto3" json:"boot_ms,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
598 unknownFields protoimpl.UnknownFields
599 sizeCache protoimpl.SizeCache
600}
601
602func (x *Hello) Reset() {
603 *x = Hello{}
604 mi := &file_exec_proto_msgTypes[2]
605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606 ms.StoreMessageInfo(mi)
607}
608
609func (x *Hello) String() string {
610 return protoimpl.X.MessageStringOf(x)
611}
612
613func (*Hello) ProtoMessage() {}
614
615func (x *Hello) ProtoReflect() protoreflect.Message {
616 mi := &file_exec_proto_msgTypes[2]
617 if x != nil {
618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
619 if ms.LoadMessageInfo() == nil {
620 ms.StoreMessageInfo(mi)
621 }
622 return ms
623 }
624 return mi.MessageOf(x)
625}
626
627// Deprecated: Use Hello.ProtoReflect.Descriptor instead.
628func (*Hello) Descriptor() ([]byte, []int) {
629 return file_exec_proto_rawDescGZIP(), []int{2}
630}
631
632func (x *Hello) GetVersion() string {
633 if x != nil {
634 return x.Version
635 }
636 return ""
637}
638
639func (x *Hello) GetSandbox() string {
640 if x != nil {
641 return x.Sandbox
642 }
643 return ""
644}
645
646func (x *Hello) GetHostname() string {
647 if x != nil {
648 return x.Hostname
649 }
650 return ""
651}
652
653func (x *Hello) GetBootMs() map[string]int64 {
654 if x != nil {
655 return x.BootMs
656 }
657 return nil
658}
659
660// Run asks the executor to run a script or a job. Without job it is the stub
661// executor of sandbox-check: the script is run with `sh -c`; an empty script
662// means the built-in diagnostics script. With job the executor runs the job
663// like a GitHub Actions runner and reports it with StepStarted, Log,
664// StepCompleted and JobResult frames, then Exit.
665type Run struct {
666 state protoimpl.MessageState `protogen:"open.v1"`
667 Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
668 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"`
669 Job *JobSpec `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"`
670 unknownFields protoimpl.UnknownFields
671 sizeCache protoimpl.SizeCache
672}
673
674func (x *Run) Reset() {
675 *x = Run{}
676 mi := &file_exec_proto_msgTypes[3]
677 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
678 ms.StoreMessageInfo(mi)
679}
680
681func (x *Run) String() string {
682 return protoimpl.X.MessageStringOf(x)
683}
684
685func (*Run) ProtoMessage() {}
686
687func (x *Run) ProtoReflect() protoreflect.Message {
688 mi := &file_exec_proto_msgTypes[3]
689 if x != nil {
690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
691 if ms.LoadMessageInfo() == nil {
692 ms.StoreMessageInfo(mi)
693 }
694 return ms
695 }
696 return mi.MessageOf(x)
697}
698
699// Deprecated: Use Run.ProtoReflect.Descriptor instead.
700func (*Run) Descriptor() ([]byte, []int) {
701 return file_exec_proto_rawDescGZIP(), []int{3}
702}
703
704func (x *Run) GetScript() string {
705 if x != nil {
706 return x.Script
707 }
708 return ""
709}
710
711func (x *Run) GetEnv() map[string]string {
712 if x != nil {
713 return x.Env
714 }
715 return nil
716}
717
718func (x *Run) GetJob() *JobSpec {
719 if x != nil {
720 return x.Job
721 }
722 return nil
723}
724
725// JobSpec is the job to run: the fields of the job that ermite handed to the
726// host process, minus the tokens (the sandbox never sees them).
727type JobSpec struct {
728 state protoimpl.MessageState `protogen:"open.v1"`
729 WorkflowPath string `protobuf:"bytes,1,opt,name=workflow_path,json=workflowPath,proto3" json:"workflow_path,omitempty"`
730 WorkflowYaml string `protobuf:"bytes,2,opt,name=workflow_yaml,json=workflowYaml,proto3" json:"workflow_yaml,omitempty"`
731 JobKey string `protobuf:"bytes,3,opt,name=job_key,json=jobKey,proto3" json:"job_key,omitempty"`
732 Matrix string `protobuf:"bytes,4,opt,name=matrix,proto3" json:"matrix,omitempty"` // JSON object
733 Contexts string `protobuf:"bytes,5,opt,name=contexts,proto3" json:"contexts,omitempty"` // JSON object
734 Repo string `protobuf:"bytes,6,opt,name=repo,proto3" json:"repo,omitempty"` // repository name
735 TimeoutMinutes int32 `protobuf:"varint,7,opt,name=timeout_minutes,json=timeoutMinutes,proto3" json:"timeout_minutes,omitempty"`
736 RunnerName string `protobuf:"bytes,8,opt,name=runner_name,json=runnerName,proto3" json:"runner_name,omitempty"`
737 RunnerVersion string `protobuf:"bytes,9,opt,name=runner_version,json=runnerVersion,proto3" json:"runner_version,omitempty"`
738 // runner_environment is the runner.environment value ("github-hosted" or "self-hosted").
739 RunnerEnvironment string `protobuf:"bytes,10,opt,name=runner_environment,json=runnerEnvironment,proto3" json:"runner_environment,omitempty"`
740 Debug bool `protobuf:"varint,11,opt,name=debug,proto3" json:"debug,omitempty"` // ACTIONS_STEP_DEBUG
741 // deadline_ms is what is left of the job timeout when the host sends this
742 // Run, in milliseconds: the timeout counts from the moment the host received
743 // the job (runner.proto: Job.timeout_minutes), not from the start of the
744 // executor, and booting the sandbox takes time. 0 means "use
745 // timeout_minutes from now".
746 DeadlineMs int64 `protobuf:"varint,12,opt,name=deadline_ms,json=deadlineMs,proto3" json:"deadline_ms,omitempty"`
747 // send_annotations and send_summaries say that the server keeps annotations
748 // (feature ci.annotations) and step summaries (ci.summaries). The executor
749 // sends StepAnnotations and StepSummary frames only when they are set.
750 SendAnnotations bool `protobuf:"varint,13,opt,name=send_annotations,json=sendAnnotations,proto3" json:"send_annotations,omitempty"`
751 SendSummaries bool `protobuf:"varint,14,opt,name=send_summaries,json=sendSummaries,proto3" json:"send_summaries,omitempty"`
752 // cache_port and cache_token, when set, are the runner's cache service for
753 // this job. The service is not on the network: the executor starts a relay
754 // on the sandbox's own loopback, 127.0.0.1:<cache_port>, that carries each
755 // connection over the host channel (a vsock port, or a Unix socket next to
756 // the executor's) to the service. The executor gives
757 // ACTIONS_CACHE_URL=http://127.0.0.1:<port>/ and the token as
758 // ACTIONS_RUNTIME_TOKEN to node and docker actions only, as the official
759 // runner does, and masks the token. The token is not an ermite credential: it
760 // is a JWT (HS256) that only the runner's runtime services accept, scoped to
761 // this job's repository and refs (and its run, see results).
762 CachePort uint32 `protobuf:"varint,15,opt,name=cache_port,json=cachePort,proto3" json:"cache_port,omitempty"`
763 CacheToken string `protobuf:"bytes,16,opt,name=cache_token,json=cacheToken,proto3" json:"cache_token,omitempty"`
764 // secrets_withheld is set by the host when the server sends Job.trusted and
765 // the job is not trusted (feature ci.secrets): "Set up job" then says that
766 // secrets are not available. Never set for servers without the feature, for
767 // which an absent Job.trusted only means "not sent".
768 SecretsWithheld bool `protobuf:"varint,19,opt,name=secrets_withheld,json=secretsWithheld,proto3" json:"secrets_withheld,omitempty"`
769 // id_token_url and id_token_request_token are Job.id_token_url and
770 // Job.id_token_request_token: the OIDC token endpoint of the server, its
771 // origin rewritten as for github.server_url, and the bearer for it. The
772 // executor gives them as ACTIONS_ID_TOKEN_REQUEST_URL and
773 // ACTIONS_ID_TOKEN_REQUEST_TOKEN to run steps, node actions and docker
774 // actions (ScriptHandler.cs:315-319, NodeScriptActionHandler.cs:66-70,
775 // ContainerActionHandler.cs:232-236), and masks the token before anything
776 // runs. Both are set or neither. (21 and 22 are taken by the artifacts
777 // branch.)
778 IdTokenUrl string `protobuf:"bytes,23,opt,name=id_token_url,json=idTokenUrl,proto3" json:"id_token_url,omitempty"`
779 IdTokenRequestToken string `protobuf:"bytes,24,opt,name=id_token_request_token,json=idTokenRequestToken,proto3" json:"id_token_request_token,omitempty"`
780 // token_permissions are the effective permissions of the job's GITHUB_TOKEN
781 // as the server sent them (Job.permissions, feature ci.secrets): "Set up job"
782 // prints them instead of working them out from the workflow. Unset when the
783 // server sent none (an older server): the executor then reads them from the
784 // workflow.
785 TokenPermissions *TokenPermissions `protobuf:"bytes,20,opt,name=token_permissions,json=tokenPermissions,proto3" json:"token_permissions,omitempty"`
786 // cache_mode is ACTIONS_CACHE_MODE of the node and docker actions: "write"
787 // when the job's cache scope has a write ref, "read" when it has none. Unset
788 // without a cache service, and unset when the channel serves the results
789 // service only (results set, no cache scope): no ACTIONS_CACHE_URL then.
790 CacheMode string `protobuf:"bytes,21,opt,name=cache_mode,json=cacheMode,proto3" json:"cache_mode,omitempty"`
791 // results says that the service behind cache_port also serves artifacts
792 // (Twirp github.actions.results.api.v1.ArtifactService and its blobs) and
793 // that cache_token carries the job's Actions.Results scope. The executor
794 // then gives node and docker actions ACTIONS_RESULTS_URL (the same origin as
795 // ACTIONS_CACHE_URL) and sets GITHUB_SERVER_URL to a *.ghe.localhost host in
796 // the process of the node steps of the artifact actions only (README,
797 // "Artifacts"). Set only when the server has the feature ci.artifacts.
798 Results bool `protobuf:"varint,22,opt,name=results,proto3" json:"results,omitempty"`
799 unknownFields protoimpl.UnknownFields
800 sizeCache protoimpl.SizeCache
801}
802
803func (x *JobSpec) Reset() {
804 *x = JobSpec{}
805 mi := &file_exec_proto_msgTypes[4]
806 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
807 ms.StoreMessageInfo(mi)
808}
809
810func (x *JobSpec) String() string {
811 return protoimpl.X.MessageStringOf(x)
812}
813
814func (*JobSpec) ProtoMessage() {}
815
816func (x *JobSpec) ProtoReflect() protoreflect.Message {
817 mi := &file_exec_proto_msgTypes[4]
818 if x != nil {
819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
820 if ms.LoadMessageInfo() == nil {
821 ms.StoreMessageInfo(mi)
822 }
823 return ms
824 }
825 return mi.MessageOf(x)
826}
827
828// Deprecated: Use JobSpec.ProtoReflect.Descriptor instead.
829func (*JobSpec) Descriptor() ([]byte, []int) {
830 return file_exec_proto_rawDescGZIP(), []int{4}
831}
832
833func (x *JobSpec) GetWorkflowPath() string {
834 if x != nil {
835 return x.WorkflowPath
836 }
837 return ""
838}
839
840func (x *JobSpec) GetWorkflowYaml() string {
841 if x != nil {
842 return x.WorkflowYaml
843 }
844 return ""
845}
846
847func (x *JobSpec) GetJobKey() string {
848 if x != nil {
849 return x.JobKey
850 }
851 return ""
852}
853
854func (x *JobSpec) GetMatrix() string {
855 if x != nil {
856 return x.Matrix
857 }
858 return ""
859}
860
861func (x *JobSpec) GetContexts() string {
862 if x != nil {
863 return x.Contexts
864 }
865 return ""
866}
867
868func (x *JobSpec) GetRepo() string {
869 if x != nil {
870 return x.Repo
871 }
872 return ""
873}
874
875func (x *JobSpec) GetTimeoutMinutes() int32 {
876 if x != nil {
877 return x.TimeoutMinutes
878 }
879 return 0
880}
881
882func (x *JobSpec) GetRunnerName() string {
883 if x != nil {
884 return x.RunnerName
885 }
886 return ""
887}
888
889func (x *JobSpec) GetRunnerVersion() string {
890 if x != nil {
891 return x.RunnerVersion
892 }
893 return ""
894}
895
896func (x *JobSpec) GetRunnerEnvironment() string {
897 if x != nil {
898 return x.RunnerEnvironment
899 }
900 return ""
901}
902
903func (x *JobSpec) GetDebug() bool {
904 if x != nil {
905 return x.Debug
906 }
907 return false
908}
909
910func (x *JobSpec) GetDeadlineMs() int64 {
911 if x != nil {
912 return x.DeadlineMs
913 }
914 return 0
915}
916
917func (x *JobSpec) GetSendAnnotations() bool {
918 if x != nil {
919 return x.SendAnnotations
920 }
921 return false
922}
923
924func (x *JobSpec) GetSendSummaries() bool {
925 if x != nil {
926 return x.SendSummaries
927 }
928 return false
929}
930
931func (x *JobSpec) GetCachePort() uint32 {
932 if x != nil {
933 return x.CachePort
934 }
935 return 0
936}
937
938func (x *JobSpec) GetCacheToken() string {
939 if x != nil {
940 return x.CacheToken
941 }
942 return ""
943}
944
945func (x *JobSpec) GetSecretsWithheld() bool {
946 if x != nil {
947 return x.SecretsWithheld
948 }
949 return false
950}
951
952func (x *JobSpec) GetIdTokenUrl() string {
953 if x != nil {
954 return x.IdTokenUrl
955 }
956 return ""
957}
958
959func (x *JobSpec) GetIdTokenRequestToken() string {
960 if x != nil {
961 return x.IdTokenRequestToken
962 }
963 return ""
964}
965
966func (x *JobSpec) GetTokenPermissions() *TokenPermissions {
967 if x != nil {
968 return x.TokenPermissions
969 }
970 return nil
971}
972
973func (x *JobSpec) GetCacheMode() string {
974 if x != nil {
975 return x.CacheMode
976 }
977 return ""
978}
979
980func (x *JobSpec) GetResults() bool {
981 if x != nil {
982 return x.Results
983 }
984 return false
985}
986
987// TokenPermissions maps a permission key ("contents", "pull-requests", ...) to
988// "read", "write" or "none"; a key that is absent is none.
989type TokenPermissions struct {
990 state protoimpl.MessageState `protogen:"open.v1"`
991 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"`
992 unknownFields protoimpl.UnknownFields
993 sizeCache protoimpl.SizeCache
994}
995
996func (x *TokenPermissions) Reset() {
997 *x = TokenPermissions{}
998 mi := &file_exec_proto_msgTypes[5]
999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1000 ms.StoreMessageInfo(mi)
1001}
1002
1003func (x *TokenPermissions) String() string {
1004 return protoimpl.X.MessageStringOf(x)
1005}
1006
1007func (*TokenPermissions) ProtoMessage() {}
1008
1009func (x *TokenPermissions) ProtoReflect() protoreflect.Message {
1010 mi := &file_exec_proto_msgTypes[5]
1011 if x != nil {
1012 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1013 if ms.LoadMessageInfo() == nil {
1014 ms.StoreMessageInfo(mi)
1015 }
1016 return ms
1017 }
1018 return mi.MessageOf(x)
1019}
1020
1021// Deprecated: Use TokenPermissions.ProtoReflect.Descriptor instead.
1022func (*TokenPermissions) Descriptor() ([]byte, []int) {
1023 return file_exec_proto_rawDescGZIP(), []int{5}
1024}
1025
1026func (x *TokenPermissions) GetLevels() map[string]string {
1027 if x != nil {
1028 return x.Levels
1029 }
1030 return nil
1031}
1032
1033type Output struct {
1034 state protoimpl.MessageState `protogen:"open.v1"`
1035 Stream StreamKind `protobuf:"varint,1,opt,name=stream,proto3,enum=ermite.runner.exec.v1.StreamKind" json:"stream,omitempty"`
1036 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
1037 UnixNano int64 `protobuf:"varint,3,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1038 unknownFields protoimpl.UnknownFields
1039 sizeCache protoimpl.SizeCache
1040}
1041
1042func (x *Output) Reset() {
1043 *x = Output{}
1044 mi := &file_exec_proto_msgTypes[6]
1045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1046 ms.StoreMessageInfo(mi)
1047}
1048
1049func (x *Output) String() string {
1050 return protoimpl.X.MessageStringOf(x)
1051}
1052
1053func (*Output) ProtoMessage() {}
1054
1055func (x *Output) ProtoReflect() protoreflect.Message {
1056 mi := &file_exec_proto_msgTypes[6]
1057 if x != nil {
1058 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1059 if ms.LoadMessageInfo() == nil {
1060 ms.StoreMessageInfo(mi)
1061 }
1062 return ms
1063 }
1064 return mi.MessageOf(x)
1065}
1066
1067// Deprecated: Use Output.ProtoReflect.Descriptor instead.
1068func (*Output) Descriptor() ([]byte, []int) {
1069 return file_exec_proto_rawDescGZIP(), []int{6}
1070}
1071
1072func (x *Output) GetStream() StreamKind {
1073 if x != nil {
1074 return x.Stream
1075 }
1076 return StreamKind_STREAM_KIND_UNSPECIFIED
1077}
1078
1079func (x *Output) GetData() []byte {
1080 if x != nil {
1081 return x.Data
1082 }
1083 return nil
1084}
1085
1086func (x *Output) GetUnixNano() int64 {
1087 if x != nil {
1088 return x.UnixNano
1089 }
1090 return 0
1091}
1092
1093type Exit struct {
1094 state protoimpl.MessageState `protogen:"open.v1"`
1095 Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
1096 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // set when the executor failed to run the script at all
1097 unknownFields protoimpl.UnknownFields
1098 sizeCache protoimpl.SizeCache
1099}
1100
1101func (x *Exit) Reset() {
1102 *x = Exit{}
1103 mi := &file_exec_proto_msgTypes[7]
1104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1105 ms.StoreMessageInfo(mi)
1106}
1107
1108func (x *Exit) String() string {
1109 return protoimpl.X.MessageStringOf(x)
1110}
1111
1112func (*Exit) ProtoMessage() {}
1113
1114func (x *Exit) ProtoReflect() protoreflect.Message {
1115 mi := &file_exec_proto_msgTypes[7]
1116 if x != nil {
1117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1118 if ms.LoadMessageInfo() == nil {
1119 ms.StoreMessageInfo(mi)
1120 }
1121 return ms
1122 }
1123 return mi.MessageOf(x)
1124}
1125
1126// Deprecated: Use Exit.ProtoReflect.Descriptor instead.
1127func (*Exit) Descriptor() ([]byte, []int) {
1128 return file_exec_proto_rawDescGZIP(), []int{7}
1129}
1130
1131func (x *Exit) GetCode() int32 {
1132 if x != nil {
1133 return x.Code
1134 }
1135 return 0
1136}
1137
1138func (x *Exit) GetError() string {
1139 if x != nil {
1140 return x.Error
1141 }
1142 return ""
1143}
1144
1145// Cancel asks the executor to stop the running script. The executor escalates
1146// like the official runner: SIGINT to the script's process group at once,
1147// SIGTERM 7.5 s later, SIGKILL 2.5 s after that.
1148type Cancel struct {
1149 state protoimpl.MessageState `protogen:"open.v1"`
1150 // reason is for the job log and diagnostics ("cancelled by the user",
1151 // "job timeout", ...); it never changes the behaviour.
1152 Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
1153 // kind tells the job executor how the job ends: cancelled, timed out, or
1154 // cancelled because the runner shuts down. The stub executor ignores it.
1155 Kind CancelKind `protobuf:"varint,2,opt,name=kind,proto3,enum=ermite.runner.exec.v1.CancelKind" json:"kind,omitempty"`
1156 unknownFields protoimpl.UnknownFields
1157 sizeCache protoimpl.SizeCache
1158}
1159
1160func (x *Cancel) Reset() {
1161 *x = Cancel{}
1162 mi := &file_exec_proto_msgTypes[8]
1163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1164 ms.StoreMessageInfo(mi)
1165}
1166
1167func (x *Cancel) String() string {
1168 return protoimpl.X.MessageStringOf(x)
1169}
1170
1171func (*Cancel) ProtoMessage() {}
1172
1173func (x *Cancel) ProtoReflect() protoreflect.Message {
1174 mi := &file_exec_proto_msgTypes[8]
1175 if x != nil {
1176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1177 if ms.LoadMessageInfo() == nil {
1178 ms.StoreMessageInfo(mi)
1179 }
1180 return ms
1181 }
1182 return mi.MessageOf(x)
1183}
1184
1185// Deprecated: Use Cancel.ProtoReflect.Descriptor instead.
1186func (*Cancel) Descriptor() ([]byte, []int) {
1187 return file_exec_proto_rawDescGZIP(), []int{8}
1188}
1189
1190func (x *Cancel) GetReason() string {
1191 if x != nil {
1192 return x.Reason
1193 }
1194 return ""
1195}
1196
1197func (x *Cancel) GetKind() CancelKind {
1198 if x != nil {
1199 return x.Kind
1200 }
1201 return CancelKind_CANCEL_KIND_UNSPECIFIED
1202}
1203
1204// Steps are numbered like GitHub's log: "Set up job" is 1, the steps of the
1205// workflow follow, "Complete job" is last.
1206type StepStarted 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 UnixNano int64 `protobuf:"varint,3,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1211 unknownFields protoimpl.UnknownFields
1212 sizeCache protoimpl.SizeCache
1213}
1214
1215func (x *StepStarted) Reset() {
1216 *x = StepStarted{}
1217 mi := &file_exec_proto_msgTypes[9]
1218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1219 ms.StoreMessageInfo(mi)
1220}
1221
1222func (x *StepStarted) String() string {
1223 return protoimpl.X.MessageStringOf(x)
1224}
1225
1226func (*StepStarted) ProtoMessage() {}
1227
1228func (x *StepStarted) ProtoReflect() protoreflect.Message {
1229 mi := &file_exec_proto_msgTypes[9]
1230 if x != nil {
1231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1232 if ms.LoadMessageInfo() == nil {
1233 ms.StoreMessageInfo(mi)
1234 }
1235 return ms
1236 }
1237 return mi.MessageOf(x)
1238}
1239
1240// Deprecated: Use StepStarted.ProtoReflect.Descriptor instead.
1241func (*StepStarted) Descriptor() ([]byte, []int) {
1242 return file_exec_proto_rawDescGZIP(), []int{9}
1243}
1244
1245func (x *StepStarted) GetNumber() int32 {
1246 if x != nil {
1247 return x.Number
1248 }
1249 return 0
1250}
1251
1252func (x *StepStarted) GetName() string {
1253 if x != nil {
1254 return x.Name
1255 }
1256 return ""
1257}
1258
1259func (x *StepStarted) GetUnixNano() int64 {
1260 if x != nil {
1261 return x.UnixNano
1262 }
1263 return 0
1264}
1265
1266type StepCompleted struct {
1267 state protoimpl.MessageState `protogen:"open.v1"`
1268 Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
1269 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1270 Conclusion StepConclusion `protobuf:"varint,3,opt,name=conclusion,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"conclusion,omitempty"`
1271 UnixNano int64 `protobuf:"varint,4,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1272 // outcome is steps.<id>.outcome: the result before continue-on-error. It
1273 // differs from conclusion only for a failed step with continue-on-error.
1274 // UNSPECIFIED means the same as conclusion.
1275 Outcome StepConclusion `protobuf:"varint,5,opt,name=outcome,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"outcome,omitempty"`
1276 unknownFields protoimpl.UnknownFields
1277 sizeCache protoimpl.SizeCache
1278}
1279
1280func (x *StepCompleted) Reset() {
1281 *x = StepCompleted{}
1282 mi := &file_exec_proto_msgTypes[10]
1283 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1284 ms.StoreMessageInfo(mi)
1285}
1286
1287func (x *StepCompleted) String() string {
1288 return protoimpl.X.MessageStringOf(x)
1289}
1290
1291func (*StepCompleted) ProtoMessage() {}
1292
1293func (x *StepCompleted) ProtoReflect() protoreflect.Message {
1294 mi := &file_exec_proto_msgTypes[10]
1295 if x != nil {
1296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1297 if ms.LoadMessageInfo() == nil {
1298 ms.StoreMessageInfo(mi)
1299 }
1300 return ms
1301 }
1302 return mi.MessageOf(x)
1303}
1304
1305// Deprecated: Use StepCompleted.ProtoReflect.Descriptor instead.
1306func (*StepCompleted) Descriptor() ([]byte, []int) {
1307 return file_exec_proto_rawDescGZIP(), []int{10}
1308}
1309
1310func (x *StepCompleted) GetNumber() int32 {
1311 if x != nil {
1312 return x.Number
1313 }
1314 return 0
1315}
1316
1317func (x *StepCompleted) GetName() string {
1318 if x != nil {
1319 return x.Name
1320 }
1321 return ""
1322}
1323
1324func (x *StepCompleted) GetConclusion() StepConclusion {
1325 if x != nil {
1326 return x.Conclusion
1327 }
1328 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1329}
1330
1331func (x *StepCompleted) GetUnixNano() int64 {
1332 if x != nil {
1333 return x.UnixNano
1334 }
1335 return 0
1336}
1337
1338func (x *StepCompleted) GetOutcome() StepConclusion {
1339 if x != nil {
1340 return x.Outcome
1341 }
1342 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1343}
1344
1345// Annotation is one ::notice, ::warning or ::error (or a problem matcher
1346// match), masked. The host validates every field again before it sends them.
1347type Annotation struct {
1348 state protoimpl.MessageState `protogen:"open.v1"`
1349 Level AnnotationLevel `protobuf:"varint,1,opt,name=level,proto3,enum=ermite.runner.exec.v1.AnnotationLevel" json:"level,omitempty"`
1350 Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
1351 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
1352 File string `protobuf:"bytes,4,opt,name=file,proto3" json:"file,omitempty"` // relative to the repository when the file is in it
1353 StartLine int32 `protobuf:"varint,5,opt,name=start_line,json=startLine,proto3" json:"start_line,omitempty"`
1354 EndLine int32 `protobuf:"varint,6,opt,name=end_line,json=endLine,proto3" json:"end_line,omitempty"`
1355 StartColumn int32 `protobuf:"varint,7,opt,name=start_column,json=startColumn,proto3" json:"start_column,omitempty"`
1356 EndColumn int32 `protobuf:"varint,8,opt,name=end_column,json=endColumn,proto3" json:"end_column,omitempty"`
1357 unknownFields protoimpl.UnknownFields
1358 sizeCache protoimpl.SizeCache
1359}
1360
1361func (x *Annotation) Reset() {
1362 *x = Annotation{}
1363 mi := &file_exec_proto_msgTypes[11]
1364 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1365 ms.StoreMessageInfo(mi)
1366}
1367
1368func (x *Annotation) String() string {
1369 return protoimpl.X.MessageStringOf(x)
1370}
1371
1372func (*Annotation) ProtoMessage() {}
1373
1374func (x *Annotation) ProtoReflect() protoreflect.Message {
1375 mi := &file_exec_proto_msgTypes[11]
1376 if x != nil {
1377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1378 if ms.LoadMessageInfo() == nil {
1379 ms.StoreMessageInfo(mi)
1380 }
1381 return ms
1382 }
1383 return mi.MessageOf(x)
1384}
1385
1386// Deprecated: Use Annotation.ProtoReflect.Descriptor instead.
1387func (*Annotation) Descriptor() ([]byte, []int) {
1388 return file_exec_proto_rawDescGZIP(), []int{11}
1389}
1390
1391func (x *Annotation) GetLevel() AnnotationLevel {
1392 if x != nil {
1393 return x.Level
1394 }
1395 return AnnotationLevel_ANNOTATION_LEVEL_UNSPECIFIED
1396}
1397
1398func (x *Annotation) GetTitle() string {
1399 if x != nil {
1400 return x.Title
1401 }
1402 return ""
1403}
1404
1405func (x *Annotation) GetMessage() string {
1406 if x != nil {
1407 return x.Message
1408 }
1409 return ""
1410}
1411
1412func (x *Annotation) GetFile() string {
1413 if x != nil {
1414 return x.File
1415 }
1416 return ""
1417}
1418
1419func (x *Annotation) GetStartLine() int32 {
1420 if x != nil {
1421 return x.StartLine
1422 }
1423 return 0
1424}
1425
1426func (x *Annotation) GetEndLine() int32 {
1427 if x != nil {
1428 return x.EndLine
1429 }
1430 return 0
1431}
1432
1433func (x *Annotation) GetStartColumn() int32 {
1434 if x != nil {
1435 return x.StartColumn
1436 }
1437 return 0
1438}
1439
1440func (x *Annotation) GetEndColumn() int32 {
1441 if x != nil {
1442 return x.EndColumn
1443 }
1444 return 0
1445}
1446
1447// StepAnnotations is the complete list of the annotations of a step (the ones
1448// the runner keeps: at most 10 per level), replacing any earlier list of that
1449// step. Annotations of the steps inside a composite action are those of the
1450// step of the workflow that uses it.
1451type StepAnnotations struct {
1452 state protoimpl.MessageState `protogen:"open.v1"`
1453 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1454 Annotations []*Annotation `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
1455 unknownFields protoimpl.UnknownFields
1456 sizeCache protoimpl.SizeCache
1457}
1458
1459func (x *StepAnnotations) Reset() {
1460 *x = StepAnnotations{}
1461 mi := &file_exec_proto_msgTypes[12]
1462 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1463 ms.StoreMessageInfo(mi)
1464}
1465
1466func (x *StepAnnotations) String() string {
1467 return protoimpl.X.MessageStringOf(x)
1468}
1469
1470func (*StepAnnotations) ProtoMessage() {}
1471
1472func (x *StepAnnotations) ProtoReflect() protoreflect.Message {
1473 mi := &file_exec_proto_msgTypes[12]
1474 if x != nil {
1475 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1476 if ms.LoadMessageInfo() == nil {
1477 ms.StoreMessageInfo(mi)
1478 }
1479 return ms
1480 }
1481 return mi.MessageOf(x)
1482}
1483
1484// Deprecated: Use StepAnnotations.ProtoReflect.Descriptor instead.
1485func (*StepAnnotations) Descriptor() ([]byte, []int) {
1486 return file_exec_proto_rawDescGZIP(), []int{12}
1487}
1488
1489func (x *StepAnnotations) GetStep() int32 {
1490 if x != nil {
1491 return x.Step
1492 }
1493 return 0
1494}
1495
1496func (x *StepAnnotations) GetAnnotations() []*Annotation {
1497 if x != nil {
1498 return x.Annotations
1499 }
1500 return nil
1501}
1502
1503// StepSummary is the masked content of GITHUB_STEP_SUMMARY after a step, at
1504// most 1 MiB.
1505type StepSummary struct {
1506 state protoimpl.MessageState `protogen:"open.v1"`
1507 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1508 Markdown string `protobuf:"bytes,2,opt,name=markdown,proto3" json:"markdown,omitempty"`
1509 unknownFields protoimpl.UnknownFields
1510 sizeCache protoimpl.SizeCache
1511}
1512
1513func (x *StepSummary) Reset() {
1514 *x = StepSummary{}
1515 mi := &file_exec_proto_msgTypes[13]
1516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1517 ms.StoreMessageInfo(mi)
1518}
1519
1520func (x *StepSummary) String() string {
1521 return protoimpl.X.MessageStringOf(x)
1522}
1523
1524func (*StepSummary) ProtoMessage() {}
1525
1526func (x *StepSummary) ProtoReflect() protoreflect.Message {
1527 mi := &file_exec_proto_msgTypes[13]
1528 if x != nil {
1529 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1530 if ms.LoadMessageInfo() == nil {
1531 ms.StoreMessageInfo(mi)
1532 }
1533 return ms
1534 }
1535 return mi.MessageOf(x)
1536}
1537
1538// Deprecated: Use StepSummary.ProtoReflect.Descriptor instead.
1539func (*StepSummary) Descriptor() ([]byte, []int) {
1540 return file_exec_proto_rawDescGZIP(), []int{13}
1541}
1542
1543func (x *StepSummary) GetStep() int32 {
1544 if x != nil {
1545 return x.Step
1546 }
1547 return 0
1548}
1549
1550func (x *StepSummary) GetMarkdown() string {
1551 if x != nil {
1552 return x.Markdown
1553 }
1554 return ""
1555}
1556
1557// Log is one line of the job log, without terminator, valid UTF-8. A line of
1558// more than 64 KiB is cut by the executor into pieces at character boundaries;
1559// every piece but the first has continued set (the AppendLog rule).
1560type Log struct {
1561 state protoimpl.MessageState `protogen:"open.v1"`
1562 Step int32 `protobuf:"varint,1,opt,name=step,proto3" json:"step,omitempty"`
1563 UnixNano int64 `protobuf:"varint,2,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
1564 Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
1565 Continued bool `protobuf:"varint,4,opt,name=continued,proto3" json:"continued,omitempty"`
1566 unknownFields protoimpl.UnknownFields
1567 sizeCache protoimpl.SizeCache
1568}
1569
1570func (x *Log) Reset() {
1571 *x = Log{}
1572 mi := &file_exec_proto_msgTypes[14]
1573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1574 ms.StoreMessageInfo(mi)
1575}
1576
1577func (x *Log) String() string {
1578 return protoimpl.X.MessageStringOf(x)
1579}
1580
1581func (*Log) ProtoMessage() {}
1582
1583func (x *Log) ProtoReflect() protoreflect.Message {
1584 mi := &file_exec_proto_msgTypes[14]
1585 if x != nil {
1586 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1587 if ms.LoadMessageInfo() == nil {
1588 ms.StoreMessageInfo(mi)
1589 }
1590 return ms
1591 }
1592 return mi.MessageOf(x)
1593}
1594
1595// Deprecated: Use Log.ProtoReflect.Descriptor instead.
1596func (*Log) Descriptor() ([]byte, []int) {
1597 return file_exec_proto_rawDescGZIP(), []int{14}
1598}
1599
1600func (x *Log) GetStep() int32 {
1601 if x != nil {
1602 return x.Step
1603 }
1604 return 0
1605}
1606
1607func (x *Log) GetUnixNano() int64 {
1608 if x != nil {
1609 return x.UnixNano
1610 }
1611 return 0
1612}
1613
1614func (x *Log) GetText() string {
1615 if x != nil {
1616 return x.Text
1617 }
1618 return ""
1619}
1620
1621func (x *Log) GetContinued() bool {
1622 if x != nil {
1623 return x.Continued
1624 }
1625 return false
1626}
1627
1628// JobResult is the outcome of the job; Exit follows.
1629type JobResult struct {
1630 state protoimpl.MessageState `protogen:"open.v1"`
1631 Conclusion StepConclusion `protobuf:"varint,1,opt,name=conclusion,proto3,enum=ermite.runner.exec.v1.StepConclusion" json:"conclusion,omitempty"`
1632 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"`
1633 Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
1634 RunnerShutdown bool `protobuf:"varint,4,opt,name=runner_shutdown,json=runnerShutdown,proto3" json:"runner_shutdown,omitempty"`
1635 unknownFields protoimpl.UnknownFields
1636 sizeCache protoimpl.SizeCache
1637}
1638
1639func (x *JobResult) Reset() {
1640 *x = JobResult{}
1641 mi := &file_exec_proto_msgTypes[15]
1642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1643 ms.StoreMessageInfo(mi)
1644}
1645
1646func (x *JobResult) String() string {
1647 return protoimpl.X.MessageStringOf(x)
1648}
1649
1650func (*JobResult) ProtoMessage() {}
1651
1652func (x *JobResult) ProtoReflect() protoreflect.Message {
1653 mi := &file_exec_proto_msgTypes[15]
1654 if x != nil {
1655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1656 if ms.LoadMessageInfo() == nil {
1657 ms.StoreMessageInfo(mi)
1658 }
1659 return ms
1660 }
1661 return mi.MessageOf(x)
1662}
1663
1664// Deprecated: Use JobResult.ProtoReflect.Descriptor instead.
1665func (*JobResult) Descriptor() ([]byte, []int) {
1666 return file_exec_proto_rawDescGZIP(), []int{15}
1667}
1668
1669func (x *JobResult) GetConclusion() StepConclusion {
1670 if x != nil {
1671 return x.Conclusion
1672 }
1673 return StepConclusion_STEP_CONCLUSION_UNSPECIFIED
1674}
1675
1676func (x *JobResult) GetOutputs() map[string]string {
1677 if x != nil {
1678 return x.Outputs
1679 }
1680 return nil
1681}
1682
1683func (x *JobResult) GetError() string {
1684 if x != nil {
1685 return x.Error
1686 }
1687 return ""
1688}
1689
1690func (x *JobResult) GetRunnerShutdown() bool {
1691 if x != nil {
1692 return x.RunnerShutdown
1693 }
1694 return false
1695}
1696
1697// ResolveRequest asks the host to resolve actions with RunnerService.
1698// ResolveActions: the job token stays in the host, so the executor cannot call
1699// it. The executor sends one per level of composite actions (the runner's own
1700// "one more round per level") and waits for the ResolveResponse with the same id.
1701type ResolveRequest struct {
1702 state protoimpl.MessageState `protogen:"open.v1"`
1703 Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
1704 Uses []string `protobuf:"bytes,2,rep,name=uses,proto3" json:"uses,omitempty"` // "owner/repo[/path]@ref", at most 100
1705 unknownFields protoimpl.UnknownFields
1706 sizeCache protoimpl.SizeCache
1707}
1708
1709func (x *ResolveRequest) Reset() {
1710 *x = ResolveRequest{}
1711 mi := &file_exec_proto_msgTypes[16]
1712 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1713 ms.StoreMessageInfo(mi)
1714}
1715
1716func (x *ResolveRequest) String() string {
1717 return protoimpl.X.MessageStringOf(x)
1718}
1719
1720func (*ResolveRequest) ProtoMessage() {}
1721
1722func (x *ResolveRequest) ProtoReflect() protoreflect.Message {
1723 mi := &file_exec_proto_msgTypes[16]
1724 if x != nil {
1725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1726 if ms.LoadMessageInfo() == nil {
1727 ms.StoreMessageInfo(mi)
1728 }
1729 return ms
1730 }
1731 return mi.MessageOf(x)
1732}
1733
1734// Deprecated: Use ResolveRequest.ProtoReflect.Descriptor instead.
1735func (*ResolveRequest) Descriptor() ([]byte, []int) {
1736 return file_exec_proto_rawDescGZIP(), []int{16}
1737}
1738
1739func (x *ResolveRequest) GetId() int64 {
1740 if x != nil {
1741 return x.Id
1742 }
1743 return 0
1744}
1745
1746func (x *ResolveRequest) GetUses() []string {
1747 if x != nil {
1748 return x.Uses
1749 }
1750 return nil
1751}
1752
1753// ResolveResponse answers a ResolveRequest. error is set when the call itself
1754// failed (the executor fails the job); actions has one entry per uses otherwise.
1755type ResolveResponse struct {
1756 state protoimpl.MessageState `protogen:"open.v1"`
1757 Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
1758 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
1759 Actions []*ResolvedAction `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
1760 unknownFields protoimpl.UnknownFields
1761 sizeCache protoimpl.SizeCache
1762}
1763
1764func (x *ResolveResponse) Reset() {
1765 *x = ResolveResponse{}
1766 mi := &file_exec_proto_msgTypes[17]
1767 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1768 ms.StoreMessageInfo(mi)
1769}
1770
1771func (x *ResolveResponse) String() string {
1772 return protoimpl.X.MessageStringOf(x)
1773}
1774
1775func (*ResolveResponse) ProtoMessage() {}
1776
1777func (x *ResolveResponse) ProtoReflect() protoreflect.Message {
1778 mi := &file_exec_proto_msgTypes[17]
1779 if x != nil {
1780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1781 if ms.LoadMessageInfo() == nil {
1782 ms.StoreMessageInfo(mi)
1783 }
1784 return ms
1785 }
1786 return mi.MessageOf(x)
1787}
1788
1789// Deprecated: Use ResolveResponse.ProtoReflect.Descriptor instead.
1790func (*ResolveResponse) Descriptor() ([]byte, []int) {
1791 return file_exec_proto_rawDescGZIP(), []int{17}
1792}
1793
1794func (x *ResolveResponse) GetId() int64 {
1795 if x != nil {
1796 return x.Id
1797 }
1798 return 0
1799}
1800
1801func (x *ResolveResponse) GetError() string {
1802 if x != nil {
1803 return x.Error
1804 }
1805 return ""
1806}
1807
1808func (x *ResolveResponse) GetActions() []*ResolvedAction {
1809 if x != nil {
1810 return x.Actions
1811 }
1812 return nil
1813}
1814
1815// ResolvedAction mirrors ermite.ResolvedAction (the token is a secret: the
1816// executor masks it).
1817type ResolvedAction struct {
1818 state protoimpl.MessageState `protogen:"open.v1"`
1819 Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
1820 NameWithOwner string `protobuf:"bytes,2,opt,name=name_with_owner,json=nameWithOwner,proto3" json:"name_with_owner,omitempty"`
1821 Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
1822 ResolvedSha string `protobuf:"bytes,4,opt,name=resolved_sha,json=resolvedSha,proto3" json:"resolved_sha,omitempty"`
1823 TarballUrl string `protobuf:"bytes,5,opt,name=tarball_url,json=tarballUrl,proto3" json:"tarball_url,omitempty"`
1824 Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"`
1825 Source string `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"`
1826 Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
1827 // auth_origin (scheme://host[:port], as the sandbox reaches it) is the only
1828 // origin the token may be sent to; empty means the token is never sent. The
1829 // host sets it for archives served by the ermite server, from its own
1830 // configuration, never from the URL alone.
1831 AuthOrigin string `protobuf:"bytes,9,opt,name=auth_origin,json=authOrigin,proto3" json:"auth_origin,omitempty"`
1832 unknownFields protoimpl.UnknownFields
1833 sizeCache protoimpl.SizeCache
1834}
1835
1836func (x *ResolvedAction) Reset() {
1837 *x = ResolvedAction{}
1838 mi := &file_exec_proto_msgTypes[18]
1839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1840 ms.StoreMessageInfo(mi)
1841}
1842
1843func (x *ResolvedAction) String() string {
1844 return protoimpl.X.MessageStringOf(x)
1845}
1846
1847func (*ResolvedAction) ProtoMessage() {}
1848
1849func (x *ResolvedAction) ProtoReflect() protoreflect.Message {
1850 mi := &file_exec_proto_msgTypes[18]
1851 if x != nil {
1852 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1853 if ms.LoadMessageInfo() == nil {
1854 ms.StoreMessageInfo(mi)
1855 }
1856 return ms
1857 }
1858 return mi.MessageOf(x)
1859}
1860
1861// Deprecated: Use ResolvedAction.ProtoReflect.Descriptor instead.
1862func (*ResolvedAction) Descriptor() ([]byte, []int) {
1863 return file_exec_proto_rawDescGZIP(), []int{18}
1864}
1865
1866func (x *ResolvedAction) GetRef() string {
1867 if x != nil {
1868 return x.Ref
1869 }
1870 return ""
1871}
1872
1873func (x *ResolvedAction) GetNameWithOwner() string {
1874 if x != nil {
1875 return x.NameWithOwner
1876 }
1877 return ""
1878}
1879
1880func (x *ResolvedAction) GetPath() string {
1881 if x != nil {
1882 return x.Path
1883 }
1884 return ""
1885}
1886
1887func (x *ResolvedAction) GetResolvedSha() string {
1888 if x != nil {
1889 return x.ResolvedSha
1890 }
1891 return ""
1892}
1893
1894func (x *ResolvedAction) GetTarballUrl() string {
1895 if x != nil {
1896 return x.TarballUrl
1897 }
1898 return ""
1899}
1900
1901func (x *ResolvedAction) GetToken() string {
1902 if x != nil {
1903 return x.Token
1904 }
1905 return ""
1906}
1907
1908func (x *ResolvedAction) GetSource() string {
1909 if x != nil {
1910 return x.Source
1911 }
1912 return ""
1913}
1914
1915func (x *ResolvedAction) GetError() string {
1916 if x != nil {
1917 return x.Error
1918 }
1919 return ""
1920}
1921
1922func (x *ResolvedAction) GetAuthOrigin() string {
1923 if x != nil {
1924 return x.AuthOrigin
1925 }
1926 return ""
1927}
1928
1929var File_exec_proto protoreflect.FileDescriptor
1930
1931const file_exec_proto_rawDesc = "" +
1932 "\n" +
1933 "\n" +
1934 "exec.proto\x12\x15ermite.runner.exec.v1\"\xde\a\n" +
1935 "\x05Frame\x124\n" +
1936 "\x05hello\x18\x01 \x01(\v2\x1c.ermite.runner.exec.v1.HelloH\x00R\x05hello\x12.\n" +
1937 "\x03run\x18\x02 \x01(\v2\x1a.ermite.runner.exec.v1.RunH\x00R\x03run\x127\n" +
1938 "\x06output\x18\x03 \x01(\v2\x1d.ermite.runner.exec.v1.OutputH\x00R\x06output\x121\n" +
1939 "\x04exit\x18\x04 \x01(\v2\x1b.ermite.runner.exec.v1.ExitH\x00R\x04exit\x127\n" +
1940 "\x06cancel\x18\x05 \x01(\v2\x1d.ermite.runner.exec.v1.CancelH\x00R\x06cancel\x12G\n" +
1941 "\fstep_started\x18\x06 \x01(\v2\".ermite.runner.exec.v1.StepStartedH\x00R\vstepStarted\x12M\n" +
1942 "\x0estep_completed\x18\a \x01(\v2$.ermite.runner.exec.v1.StepCompletedH\x00R\rstepCompleted\x12.\n" +
1943 "\x03log\x18\b \x01(\v2\x1a.ermite.runner.exec.v1.LogH\x00R\x03log\x12A\n" +
1944 "\n" +
1945 "job_result\x18\t \x01(\v2 .ermite.runner.exec.v1.JobResultH\x00R\tjobResult\x12S\n" +
1946 "\x10step_annotations\x18\n" +
1947 " \x01(\v2&.ermite.runner.exec.v1.StepAnnotationsH\x00R\x0fstepAnnotations\x12G\n" +
1948 "\fstep_summary\x18\v \x01(\v2\".ermite.runner.exec.v1.StepSummaryH\x00R\vstepSummary\x12P\n" +
1949 "\x0fresolve_request\x18\f \x01(\v2%.ermite.runner.exec.v1.ResolveRequestH\x00R\x0eresolveRequest\x12S\n" +
1950 "\x10resolve_response\x18\r \x01(\v2&.ermite.runner.exec.v1.ResolveResponseH\x00R\x0fresolveResponse\x12;\n" +
1951 "\x06secret\x18\x0e \x01(\v2!.ermite.runner.exec.v1.NamedValueH\x00R\x06secret\x125\n" +
1952 "\x03var\x18\x0f \x01(\v2!.ermite.runner.exec.v1.NamedValueH\x00R\x03varB\x06\n" +
1953 "\x04body\"6\n" +
1954 "\n" +
1955 "NamedValue\x12\x12\n" +
1956 "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
1957 "\x05value\x18\x02 \x01(\tR\x05value\"\xd5\x01\n" +
1958 "\x05Hello\x12\x18\n" +
1959 "\aversion\x18\x01 \x01(\tR\aversion\x12\x18\n" +
1960 "\asandbox\x18\x02 \x01(\tR\asandbox\x12\x1a\n" +
1961 "\bhostname\x18\x03 \x01(\tR\bhostname\x12A\n" +
1962 "\aboot_ms\x18\x04 \x03(\v2(.ermite.runner.exec.v1.Hello.BootMsEntryR\x06bootMs\x1a9\n" +
1963 "\vBootMsEntry\x12\x10\n" +
1964 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
1965 "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\xbe\x01\n" +
1966 "\x03Run\x12\x16\n" +
1967 "\x06script\x18\x01 \x01(\tR\x06script\x125\n" +
1968 "\x03env\x18\x02 \x03(\v2#.ermite.runner.exec.v1.Run.EnvEntryR\x03env\x120\n" +
1969 "\x03job\x18\x03 \x01(\v2\x1e.ermite.runner.exec.v1.JobSpecR\x03job\x1a6\n" +
1970 "\bEnvEntry\x12\x10\n" +
1971 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
1972 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc9\x06\n" +
1973 "\aJobSpec\x12#\n" +
1974 "\rworkflow_path\x18\x01 \x01(\tR\fworkflowPath\x12#\n" +
1975 "\rworkflow_yaml\x18\x02 \x01(\tR\fworkflowYaml\x12\x17\n" +
1976 "\ajob_key\x18\x03 \x01(\tR\x06jobKey\x12\x16\n" +
1977 "\x06matrix\x18\x04 \x01(\tR\x06matrix\x12\x1a\n" +
1978 "\bcontexts\x18\x05 \x01(\tR\bcontexts\x12\x12\n" +
1979 "\x04repo\x18\x06 \x01(\tR\x04repo\x12'\n" +
1980 "\x0ftimeout_minutes\x18\a \x01(\x05R\x0etimeoutMinutes\x12\x1f\n" +
1981 "\vrunner_name\x18\b \x01(\tR\n" +
1982 "runnerName\x12%\n" +
1983 "\x0erunner_version\x18\t \x01(\tR\rrunnerVersion\x12-\n" +
1984 "\x12runner_environment\x18\n" +
1985 " \x01(\tR\x11runnerEnvironment\x12\x14\n" +
1986 "\x05debug\x18\v \x01(\bR\x05debug\x12\x1f\n" +
1987 "\vdeadline_ms\x18\f \x01(\x03R\n" +
1988 "deadlineMs\x12)\n" +
1989 "\x10send_annotations\x18\r \x01(\bR\x0fsendAnnotations\x12%\n" +
1990 "\x0esend_summaries\x18\x0e \x01(\bR\rsendSummaries\x12\x1d\n" +
1991 "\n" +
1992 "cache_port\x18\x0f \x01(\rR\tcachePort\x12\x1f\n" +
1993 "\vcache_token\x18\x10 \x01(\tR\n" +
1994 "cacheToken\x12)\n" +
1995 "\x10secrets_withheld\x18\x13 \x01(\bR\x0fsecretsWithheld\x12 \n" +
1996 "\fid_token_url\x18\x17 \x01(\tR\n" +
1997 "idTokenUrl\x123\n" +
1998 "\x16id_token_request_token\x18\x18 \x01(\tR\x13idTokenRequestToken\x12T\n" +
1999 "\x11token_permissions\x18\x14 \x01(\v2'.ermite.runner.exec.v1.TokenPermissionsR\x10tokenPermissions\x12\x1d\n" +
2000 "\n" +
2001 "cache_mode\x18\x15 \x01(\tR\tcacheMode\x12\x18\n" +
2002 "\aresults\x18\x16 \x01(\bR\aresultsJ\x04\b\x11\x10\x12J\x04\b\x12\x10\x13R\asecretsR\x04vars\"\x9a\x01\n" +
2003 "\x10TokenPermissions\x12K\n" +
2004 "\x06levels\x18\x01 \x03(\v23.ermite.runner.exec.v1.TokenPermissions.LevelsEntryR\x06levels\x1a9\n" +
2005 "\vLevelsEntry\x12\x10\n" +
2006 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
2007 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"t\n" +
2008 "\x06Output\x129\n" +
2009 "\x06stream\x18\x01 \x01(\x0e2!.ermite.runner.exec.v1.StreamKindR\x06stream\x12\x12\n" +
2010 "\x04data\x18\x02 \x01(\fR\x04data\x12\x1b\n" +
2011 "\tunix_nano\x18\x03 \x01(\x03R\bunixNano\"0\n" +
2012 "\x04Exit\x12\x12\n" +
2013 "\x04code\x18\x01 \x01(\x05R\x04code\x12\x14\n" +
2014 "\x05error\x18\x02 \x01(\tR\x05error\"W\n" +
2015 "\x06Cancel\x12\x16\n" +
2016 "\x06reason\x18\x01 \x01(\tR\x06reason\x125\n" +
2017 "\x04kind\x18\x02 \x01(\x0e2!.ermite.runner.exec.v1.CancelKindR\x04kind\"V\n" +
2018 "\vStepStarted\x12\x16\n" +
2019 "\x06number\x18\x01 \x01(\x05R\x06number\x12\x12\n" +
2020 "\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n" +
2021 "\tunix_nano\x18\x03 \x01(\x03R\bunixNano\"\xe0\x01\n" +
2022 "\rStepCompleted\x12\x16\n" +
2023 "\x06number\x18\x01 \x01(\x05R\x06number\x12\x12\n" +
2024 "\x04name\x18\x02 \x01(\tR\x04name\x12E\n" +
2025 "\n" +
2026 "conclusion\x18\x03 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\n" +
2027 "conclusion\x12\x1b\n" +
2028 "\tunix_nano\x18\x04 \x01(\x03R\bunixNano\x12?\n" +
2029 "\aoutcome\x18\x05 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\aoutcome\"\x8a\x02\n" +
2030 "\n" +
2031 "Annotation\x12<\n" +
2032 "\x05level\x18\x01 \x01(\x0e2&.ermite.runner.exec.v1.AnnotationLevelR\x05level\x12\x14\n" +
2033 "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
2034 "\amessage\x18\x03 \x01(\tR\amessage\x12\x12\n" +
2035 "\x04file\x18\x04 \x01(\tR\x04file\x12\x1d\n" +
2036 "\n" +
2037 "start_line\x18\x05 \x01(\x05R\tstartLine\x12\x19\n" +
2038 "\bend_line\x18\x06 \x01(\x05R\aendLine\x12!\n" +
2039 "\fstart_column\x18\a \x01(\x05R\vstartColumn\x12\x1d\n" +
2040 "\n" +
2041 "end_column\x18\b \x01(\x05R\tendColumn\"j\n" +
2042 "\x0fStepAnnotations\x12\x12\n" +
2043 "\x04step\x18\x01 \x01(\x05R\x04step\x12C\n" +
2044 "\vannotations\x18\x02 \x03(\v2!.ermite.runner.exec.v1.AnnotationR\vannotations\"=\n" +
2045 "\vStepSummary\x12\x12\n" +
2046 "\x04step\x18\x01 \x01(\x05R\x04step\x12\x1a\n" +
2047 "\bmarkdown\x18\x02 \x01(\tR\bmarkdown\"h\n" +
2048 "\x03Log\x12\x12\n" +
2049 "\x04step\x18\x01 \x01(\x05R\x04step\x12\x1b\n" +
2050 "\tunix_nano\x18\x02 \x01(\x03R\bunixNano\x12\x12\n" +
2051 "\x04text\x18\x03 \x01(\tR\x04text\x12\x1c\n" +
2052 "\tcontinued\x18\x04 \x01(\bR\tcontinued\"\x96\x02\n" +
2053 "\tJobResult\x12E\n" +
2054 "\n" +
2055 "conclusion\x18\x01 \x01(\x0e2%.ermite.runner.exec.v1.StepConclusionR\n" +
2056 "conclusion\x12G\n" +
2057 "\aoutputs\x18\x02 \x03(\v2-.ermite.runner.exec.v1.JobResult.OutputsEntryR\aoutputs\x12\x14\n" +
2058 "\x05error\x18\x03 \x01(\tR\x05error\x12'\n" +
2059 "\x0frunner_shutdown\x18\x04 \x01(\bR\x0erunnerShutdown\x1a:\n" +
2060 "\fOutputsEntry\x12\x10\n" +
2061 "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
2062 "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"4\n" +
2063 "\x0eResolveRequest\x12\x0e\n" +
2064 "\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
2065 "\x04uses\x18\x02 \x03(\tR\x04uses\"x\n" +
2066 "\x0fResolveResponse\x12\x0e\n" +
2067 "\x02id\x18\x01 \x01(\x03R\x02id\x12\x14\n" +
2068 "\x05error\x18\x02 \x01(\tR\x05error\x12?\n" +
2069 "\aactions\x18\x03 \x03(\v2%.ermite.runner.exec.v1.ResolvedActionR\aactions\"\x87\x02\n" +
2070 "\x0eResolvedAction\x12\x10\n" +
2071 "\x03ref\x18\x01 \x01(\tR\x03ref\x12&\n" +
2072 "\x0fname_with_owner\x18\x02 \x01(\tR\rnameWithOwner\x12\x12\n" +
2073 "\x04path\x18\x03 \x01(\tR\x04path\x12!\n" +
2074 "\fresolved_sha\x18\x04 \x01(\tR\vresolvedSha\x12\x1f\n" +
2075 "\vtarball_url\x18\x05 \x01(\tR\n" +
2076 "tarballUrl\x12\x14\n" +
2077 "\x05token\x18\x06 \x01(\tR\x05token\x12\x16\n" +
2078 "\x06source\x18\a \x01(\tR\x06source\x12\x14\n" +
2079 "\x05error\x18\b \x01(\tR\x05error\x12\x1f\n" +
2080 "\vauth_origin\x18\t \x01(\tR\n" +
2081 "authOrigin*Y\n" +
2082 "\n" +
2083 "StreamKind\x12\x1b\n" +
2084 "\x17STREAM_KIND_UNSPECIFIED\x10\x00\x12\x16\n" +
2085 "\x12STREAM_KIND_STDOUT\x10\x01\x12\x16\n" +
2086 "\x12STREAM_KIND_STDERR\x10\x02*r\n" +
2087 "\n" +
2088 "CancelKind\x12\x1b\n" +
2089 "\x17CANCEL_KIND_UNSPECIFIED\x10\x00\x12\x14\n" +
2090 "\x10CANCEL_KIND_USER\x10\x01\x12\x17\n" +
2091 "\x13CANCEL_KIND_TIMEOUT\x10\x02\x12\x18\n" +
2092 "\x14CANCEL_KIND_SHUTDOWN\x10\x03*\x8c\x01\n" +
2093 "\x0fAnnotationLevel\x12 \n" +
2094 "\x1cANNOTATION_LEVEL_UNSPECIFIED\x10\x00\x12\x1b\n" +
2095 "\x17ANNOTATION_LEVEL_NOTICE\x10\x01\x12\x1c\n" +
2096 "\x18ANNOTATION_LEVEL_WARNING\x10\x02\x12\x1c\n" +
2097 "\x18ANNOTATION_LEVEL_FAILURE\x10\x03*\xc6\x01\n" +
2098 "\x0eStepConclusion\x12\x1f\n" +
2099 "\x1bSTEP_CONCLUSION_UNSPECIFIED\x10\x00\x12\x1b\n" +
2100 "\x17STEP_CONCLUSION_SUCCESS\x10\x01\x12\x1b\n" +
2101 "\x17STEP_CONCLUSION_FAILURE\x10\x02\x12\x1d\n" +
2102 "\x19STEP_CONCLUSION_CANCELLED\x10\x03\x12\x1b\n" +
2103 "\x17STEP_CONCLUSION_SKIPPED\x10\x04\x12\x1d\n" +
2104 "\x19STEP_CONCLUSION_TIMED_OUT\x10\x05B4Z2bnema.dev/ermite-runner/internal/execstream/execpbb\x06proto3"
2105
2106var (
2107 file_exec_proto_rawDescOnce sync.Once
2108 file_exec_proto_rawDescData []byte
2109)
2110
2111func file_exec_proto_rawDescGZIP() []byte {
2112 file_exec_proto_rawDescOnce.Do(func() {
2113 file_exec_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_exec_proto_rawDesc), len(file_exec_proto_rawDesc)))
2114 })
2115 return file_exec_proto_rawDescData
2116}
2117
2118var file_exec_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2119var file_exec_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
2120var file_exec_proto_goTypes = []any{
2121 (StreamKind)(0), // 0: ermite.runner.exec.v1.StreamKind
2122 (CancelKind)(0), // 1: ermite.runner.exec.v1.CancelKind
2123 (AnnotationLevel)(0), // 2: ermite.runner.exec.v1.AnnotationLevel
2124 (StepConclusion)(0), // 3: ermite.runner.exec.v1.StepConclusion
2125 (*Frame)(nil), // 4: ermite.runner.exec.v1.Frame
2126 (*NamedValue)(nil), // 5: ermite.runner.exec.v1.NamedValue
2127 (*Hello)(nil), // 6: ermite.runner.exec.v1.Hello
2128 (*Run)(nil), // 7: ermite.runner.exec.v1.Run
2129 (*JobSpec)(nil), // 8: ermite.runner.exec.v1.JobSpec
2130 (*TokenPermissions)(nil), // 9: ermite.runner.exec.v1.TokenPermissions
2131 (*Output)(nil), // 10: ermite.runner.exec.v1.Output
2132 (*Exit)(nil), // 11: ermite.runner.exec.v1.Exit
2133 (*Cancel)(nil), // 12: ermite.runner.exec.v1.Cancel
2134 (*StepStarted)(nil), // 13: ermite.runner.exec.v1.StepStarted
2135 (*StepCompleted)(nil), // 14: ermite.runner.exec.v1.StepCompleted
2136 (*Annotation)(nil), // 15: ermite.runner.exec.v1.Annotation
2137 (*StepAnnotations)(nil), // 16: ermite.runner.exec.v1.StepAnnotations
2138 (*StepSummary)(nil), // 17: ermite.runner.exec.v1.StepSummary
2139 (*Log)(nil), // 18: ermite.runner.exec.v1.Log
2140 (*JobResult)(nil), // 19: ermite.runner.exec.v1.JobResult
2141 (*ResolveRequest)(nil), // 20: ermite.runner.exec.v1.ResolveRequest
2142 (*ResolveResponse)(nil), // 21: ermite.runner.exec.v1.ResolveResponse
2143 (*ResolvedAction)(nil), // 22: ermite.runner.exec.v1.ResolvedAction
2144 nil, // 23: ermite.runner.exec.v1.Hello.BootMsEntry
2145 nil, // 24: ermite.runner.exec.v1.Run.EnvEntry
2146 nil, // 25: ermite.runner.exec.v1.TokenPermissions.LevelsEntry
2147 nil, // 26: ermite.runner.exec.v1.JobResult.OutputsEntry
2148}
2149var file_exec_proto_depIdxs = []int32{
2150 6, // 0: ermite.runner.exec.v1.Frame.hello:type_name -> ermite.runner.exec.v1.Hello
2151 7, // 1: ermite.runner.exec.v1.Frame.run:type_name -> ermite.runner.exec.v1.Run
2152 10, // 2: ermite.runner.exec.v1.Frame.output:type_name -> ermite.runner.exec.v1.Output
2153 11, // 3: ermite.runner.exec.v1.Frame.exit:type_name -> ermite.runner.exec.v1.Exit
2154 12, // 4: ermite.runner.exec.v1.Frame.cancel:type_name -> ermite.runner.exec.v1.Cancel
2155 13, // 5: ermite.runner.exec.v1.Frame.step_started:type_name -> ermite.runner.exec.v1.StepStarted
2156 14, // 6: ermite.runner.exec.v1.Frame.step_completed:type_name -> ermite.runner.exec.v1.StepCompleted
2157 18, // 7: ermite.runner.exec.v1.Frame.log:type_name -> ermite.runner.exec.v1.Log
2158 19, // 8: ermite.runner.exec.v1.Frame.job_result:type_name -> ermite.runner.exec.v1.JobResult
2159 16, // 9: ermite.runner.exec.v1.Frame.step_annotations:type_name -> ermite.runner.exec.v1.StepAnnotations
2160 17, // 10: ermite.runner.exec.v1.Frame.step_summary:type_name -> ermite.runner.exec.v1.StepSummary
2161 20, // 11: ermite.runner.exec.v1.Frame.resolve_request:type_name -> ermite.runner.exec.v1.ResolveRequest
2162 21, // 12: ermite.runner.exec.v1.Frame.resolve_response:type_name -> ermite.runner.exec.v1.ResolveResponse
2163 5, // 13: ermite.runner.exec.v1.Frame.secret:type_name -> ermite.runner.exec.v1.NamedValue
2164 5, // 14: ermite.runner.exec.v1.Frame.var:type_name -> ermite.runner.exec.v1.NamedValue
2165 23, // 15: ermite.runner.exec.v1.Hello.boot_ms:type_name -> ermite.runner.exec.v1.Hello.BootMsEntry
2166 24, // 16: ermite.runner.exec.v1.Run.env:type_name -> ermite.runner.exec.v1.Run.EnvEntry
2167 8, // 17: ermite.runner.exec.v1.Run.job:type_name -> ermite.runner.exec.v1.JobSpec
2168 9, // 18: ermite.runner.exec.v1.JobSpec.token_permissions:type_name -> ermite.runner.exec.v1.TokenPermissions
2169 25, // 19: ermite.runner.exec.v1.TokenPermissions.levels:type_name -> ermite.runner.exec.v1.TokenPermissions.LevelsEntry
2170 0, // 20: ermite.runner.exec.v1.Output.stream:type_name -> ermite.runner.exec.v1.StreamKind
2171 1, // 21: ermite.runner.exec.v1.Cancel.kind:type_name -> ermite.runner.exec.v1.CancelKind
2172 3, // 22: ermite.runner.exec.v1.StepCompleted.conclusion:type_name -> ermite.runner.exec.v1.StepConclusion
2173 3, // 23: ermite.runner.exec.v1.StepCompleted.outcome:type_name -> ermite.runner.exec.v1.StepConclusion
2174 2, // 24: ermite.runner.exec.v1.Annotation.level:type_name -> ermite.runner.exec.v1.AnnotationLevel
2175 15, // 25: ermite.runner.exec.v1.StepAnnotations.annotations:type_name -> ermite.runner.exec.v1.Annotation
2176 3, // 26: ermite.runner.exec.v1.JobResult.conclusion:type_name -> ermite.runner.exec.v1.StepConclusion
2177 26, // 27: ermite.runner.exec.v1.JobResult.outputs:type_name -> ermite.runner.exec.v1.JobResult.OutputsEntry
2178 22, // 28: ermite.runner.exec.v1.ResolveResponse.actions:type_name -> ermite.runner.exec.v1.ResolvedAction
2179 29, // [29:29] is the sub-list for method output_type
2180 29, // [29:29] is the sub-list for method input_type
2181 29, // [29:29] is the sub-list for extension type_name
2182 29, // [29:29] is the sub-list for extension extendee
2183 0, // [0:29] is the sub-list for field type_name
2184}
2185
2186func init() { file_exec_proto_init() }
2187func file_exec_proto_init() {
2188 if File_exec_proto != nil {
2189 return
2190 }
2191 file_exec_proto_msgTypes[0].OneofWrappers = []any{
2192 (*Frame_Hello)(nil),
2193 (*Frame_Run)(nil),
2194 (*Frame_Output)(nil),
2195 (*Frame_Exit)(nil),
2196 (*Frame_Cancel)(nil),
2197 (*Frame_StepStarted)(nil),
2198 (*Frame_StepCompleted)(nil),
2199 (*Frame_Log)(nil),
2200 (*Frame_JobResult)(nil),
2201 (*Frame_StepAnnotations)(nil),
2202 (*Frame_StepSummary)(nil),
2203 (*Frame_ResolveRequest)(nil),
2204 (*Frame_ResolveResponse)(nil),
2205 (*Frame_Secret)(nil),
2206 (*Frame_Var)(nil),
2207 }
2208 type x struct{}
2209 out := protoimpl.TypeBuilder{
2210 File: protoimpl.DescBuilder{
2211 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2212 RawDescriptor: unsafe.Slice(unsafe.StringData(file_exec_proto_rawDesc), len(file_exec_proto_rawDesc)),
2213 NumEnums: 4,
2214 NumMessages: 23,
2215 NumExtensions: 0,
2216 NumServices: 0,
2217 },
2218 GoTypes: file_exec_proto_goTypes,
2219 DependencyIndexes: file_exec_proto_depIdxs,
2220 EnumInfos: file_exec_proto_enumTypes,
2221 MessageInfos: file_exec_proto_msgTypes,
2222 }.Build()
2223 File_exec_proto = out.File
2224 file_exec_proto_goTypes = nil
2225 file_exec_proto_depIdxs = nil
2226}