+47
-70
api/tangled/cbor_gen.go
+47
-70
api/tangled/cbor_gen.go
···if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {···-if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("finishedAt"))); err != nil {-if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.FinishedAt))); err != nil {············
+6
-8
api/tangled/pipelinestatus.go
+6
-8
api/tangled/pipelinestatus.go
···LexiconTypeID string `json:"$type,const=sh.tangled.pipeline.status" cborgen:"$type,const=sh.tangled.pipeline.status"`
+1
-1
api/tangled/tangledpipeline.go
+1
-1
api/tangled/tangledpipeline.go
···
+1
cmd/spindle/main.go
+1
cmd/spindle/main.go
+13
-18
lexicons/pipeline/status.json
+13
-18
lexicons/pipeline/status.json
·········
+5
-13
spindle/db/db.go
+5
-13
spindle/db/db.go
···
+148
spindle/db/events.go
+148
spindle/db/events.go
···+func (d *DB) CreateStatusEvent(rkey string, s tangled.PipelineStatus, n *notifier.Notifier) error {+func (d *DB) StatusFailed(workflowId models.WorkflowId, workflowError string, exitCode int64, n *notifier.Notifier) error {
+205
-177
spindle/db/pipelines.go
+205
-177
spindle/db/pipelines.go
···-func (db *DB) MarkPipelineFailed(rkey string, exitCode int, errorMsg string, n *notifier.Notifier) error {-`, rkey).Scan(&p.Rkey, &p.Status, &p.Error, &p.ExitCode, &p.StartedAt, &p.UpdatedAt, &p.FinishedAt)-rows.Scan(&p.Rkey, &p.Status, &p.Error, &p.ExitCode, &p.StartedAt, &p.UpdatedAt, &p.FinishedAt)+// func (db *DB) MarkPipelineFailed(rkey string, exitCode int, errorMsg string, n *notifier.Notifier) error {+// `, rkey).Scan(&p.Rkey, &p.Status, &p.Error, &p.ExitCode, &p.StartedAt, &p.UpdatedAt, &p.FinishedAt)+// err := rows.Scan(&p.Rkey, &p.Status, &pipelineError, &exitCode, &p.LastUpdate, &startedAt, &updatedAt, &finishedAt)
+83
-73
spindle/engine/engine.go
+83
-73
spindle/engine/engine.go
·········-func (e *Engine) StartWorkflows(ctx context.Context, pipeline *tangled.Pipeline, id string) error {+func (e *Engine) StartWorkflows(ctx context.Context, pipeline *tangled.Pipeline, pipelineId models.PipelineId) {······-func (e *Engine) StartSteps(ctx context.Context, steps []*tangled.Pipeline_Step, workflowName, id, image string) error {+func (e *Engine) StartSteps(ctx context.Context, steps []*tangled.Pipeline_Step, wid models.WorkflowId, image string) error {·········+e.l.Error("workflow failed!", "workflow_id", wid.String(), "error", state.Error, "exit_code", state.ExitCode)···+func (e *Engine) TailStep(ctx context.Context, containerID string, wid models.WorkflowId) error {············-func (e *Engine) DestroyWorkflow(ctx context.Context, pipelineID, workflowName string) error {···-e.l.Error("failed to cleanup workflow resource", "pipeline", pipelineID, "workflow", workflowName, "err", err)-func (e *Engine) LogChannels(pipelineID string) (stdout <-chan string, stderr <-chan string, ok bool) {+func (e *Engine) LogChannels(wid models.WorkflowId) (stdout <-chan string, stderr <-chan string, ok bool) {···
+37
spindle/models/models.go
+37
spindle/models/models.go
···+return syntax.ATURI(fmt.Sprintf("at://did:web:%s/%s/%s", p.Knot, tangled.PipelineNSID, p.Rkey))
+29
-11
spindle/queue/queue.go
+29
-11
spindle/queue/queue.go
······
+23
-13
spindle/server.go
+23
-13
spindle/server.go
············-pipelineAtUri := fmt.Sprintf("at://%s/did:web:%s/%s", tangled.PipelineNSID, pipeline.TriggerMetadata.Repo.Knot, msg.Rkey)
+54
-23
spindle/stream.go
+54
-23
spindle/stream.go
···············if err = conn.WriteControl(websocket.PingMessage, []byte{}, time.Now().Add(time.Second)); err != nil {·········-func (s *Spindle) streamLogs(ctx context.Context, conn *websocket.Conn, pipelineID string) error {+func (s *Spindle) streamLogs(ctx context.Context, conn *websocket.Conn, wid models.WorkflowId) error {······