···88 command: |
99 go mod download
10101111- - name: run tests
1212- command: |
1313- make test
1414-1511 - name: build manager binary
1612 command: |
1713 make build
-4
.tangled/workflows/workflow-arm64.yaml
···88 command: |
99 go mod download
10101111- - name: run tests
1212- command: |
1313- make test
1414-1511 - name: build manager binary
1612 command: |
1713 make build
+9-9
cmd/runner/main.go
···15151616// LogEvent represents a structured log event emitted by the runner.
1717type LogEvent struct {
1818- Kind string `json:"kind"` // "control" or "data"
1919- Event string `json:"event,omitempty"` // "start", "end" (for control events)
2020- StepID int `json:"step_id"` // 0-based step index
2121- StepName string `json:"step_name,omitempty"` // Step name
2222- WorkflowName string `json:"workflow_name"` // Workflow name for log separation
2323- Stream string `json:"stream,omitempty"` // "stdout" or "stderr" (for data events)
2424- Content string `json:"content,omitempty"` // Log line content (for data events)
2525- ExitCode *int `json:"exit_code,omitempty"` // Exit code (for control/end events)
2626- Timestamp string `json:"timestamp"` // ISO 8601 timestamp
1818+ Kind string `json:"kind"` // "control" or "data"
1919+ Event string `json:"event,omitempty"` // "start", "end" (for control events)
2020+ StepID int `json:"step_id"` // 0-based step index
2121+ StepName string `json:"step_name,omitempty"` // Step name
2222+ WorkflowName string `json:"workflow_name"` // Workflow name for log separation
2323+ Stream string `json:"stream,omitempty"` // "stdout" or "stderr" (for data events)
2424+ Content string `json:"content,omitempty"` // Log line content (for data events)
2525+ ExitCode *int `json:"exit_code,omitempty"` // Exit code (for control/end events)
2626+ Timestamp string `json:"timestamp"` // ISO 8601 timestamp
2727}
28282929func main() {
+9-9
internal/engine/kubernetes_engine.go
···412412413413// LogEvent represents a structured log event from the runner binary
414414type LogEvent struct {
415415- Kind string `json:"kind"` // "control" or "data"
416416- Event string `json:"event,omitempty"` // "start", "end" (for control events)
417417- StepID int `json:"step_id"` // 0-based step index
418418- StepName string `json:"step_name,omitempty"` // Step name
419419- WorkflowName string `json:"workflow_name"` // Workflow name for log separation
420420- Stream string `json:"stream,omitempty"` // "stdout" or "stderr" (for data events)
421421- Content string `json:"content,omitempty"` // Log line content (for data events)
422422- ExitCode *int `json:"exit_code,omitempty"` // Exit code (for control/end events)
423423- Timestamp string `json:"timestamp"` // ISO 8601 timestamp
415415+ Kind string `json:"kind"` // "control" or "data"
416416+ Event string `json:"event,omitempty"` // "start", "end" (for control events)
417417+ StepID int `json:"step_id"` // 0-based step index
418418+ StepName string `json:"step_name,omitempty"` // Step name
419419+ WorkflowName string `json:"workflow_name"` // Workflow name for log separation
420420+ Stream string `json:"stream,omitempty"` // "stdout" or "stderr" (for data events)
421421+ Content string `json:"content,omitempty"` // Log line content (for data events)
422422+ ExitCode *int `json:"exit_code,omitempty"` // Exit code (for control/end events)
423423+ Timestamp string `json:"timestamp"` // ISO 8601 timestamp
424424}
425425426426// parseLogs reads log lines as JSON events and sends them to WorkflowLogger