1package models
2
3import (
4 "context"
5 "time"
6
7 "tangled.sh/tangled.sh/core/api/tangled"
8 "tangled.sh/tangled.sh/core/spindle/secrets"
9)
10
11type Engine interface {
12 InitWorkflow(twf tangled.Pipeline_Workflow, tpl tangled.Pipeline) (*Workflow, error)
13 SetupWorkflow(ctx context.Context, wid WorkflowId, wf *Workflow) error
14 WorkflowTimeout() time.Duration
15 DestroyWorkflow(ctx context.Context, wid WorkflowId) error
16 RunStep(ctx context.Context, wid WorkflowId, w *Workflow, idx int, secrets []secrets.UnlockedSecret, wfLogger *WorkflowLogger) error
17}