Versions in this module Expand all Collapse all v1 v1.26.0 Oct 12, 2026 Changes in this version + const DefaultMaxAttempts + const DefaultMaxRepeatCount + const DefaultSkillDir + const DefaultStepTimeout + const EnvMaxAttempts + const EnvMaxRepeatCount + const ExitActionError + const ExitConfigError + const ExitOK + const ExitTestFailed + const FailureAction + const FailureAssertion + const FailureContractRequest + const FailureContractResponse + const FailureRefused + const FailureTemplate + const FailureTestError + const FailureTestType + const IconCircle + const IconError + const IconRetry + const IconSkip + const IconSuccess + const IconTriangle + const IconWait + const SeverityError + const SeverityWarning + func BuildReport(name, description string, rs *Result, order []string, ...) *report.Report + func Guide(topic string) (string, error) + func GuideIndex() string + func InstallSkill(dir string) (string, error) + func Skill() string + type ActionRunner interface + RunActions func(name string, with map[string]any, opts RunOptions) (map[string]any, error) + type BufferedReporter struct + func NewBufferedReporter(p *Printer) *BufferedReporter + func (r *BufferedReporter) Finish(rs *Result) + func (r *BufferedReporter) JobDone(jobID string, jr *JobResult) + func (r *BufferedReporter) Start(name, description string) + func (r *BufferedReporter) StepDone(jobID string, sr StepResult) + func (r *BufferedReporter) StepStart(jobID, stepName string) + type CheckOptions struct + Actions []string + Manifest func(uses, baseDir string) (*actionref.Manifest, error) + Params map[string][]string + type Config struct + Actions []string + Env map[string]string + Guard actionrpc.Guard + Log io.Writer + Output OutputMode + Reports []report.Target + Timing bool + Vars map[string]string + Verbose bool + type ErrorType string + const ErrorTypeAction + const ErrorTypeConfiguration + const ErrorTypeDependency + const ErrorTypeExecution + const ErrorTypeFile + const ErrorTypeNetwork + const ErrorTypeValidation + type Executor struct + func NewExecutor(w *Workflow, job *Job) *Executor + func (e *Executor) Execute(ctx JobContext) bool + type ExitStatus int + const ExitStatusFailure + const ExitStatusSuccess + func (e ExitStatus) Int() int + func (e ExitStatus) String() string + type Finding struct + File string + Line int + Message string + Severity string + Where string + func Check(path string, opts CheckOptions) ([]Finding, error) + func (f Finding) String() string + type GuideTopic struct + Group string + Name string + Title string + func GuideTopics() []GuideTopic + type Interval struct + func (i *Interval) UnmarshalYAML(unmarshal func(any) error) error + func (i Interval) MarshalYAML() (any, error) + type Iteration struct + Entries []map[string]any + Expr string + func (it *Iteration) UnmarshalYAML(unmarshal func(any) error) error + func (it Iteration) MarshalYAML() (any, error) + type Job struct + Always bool + Defaults any + FailFast bool + ID string + Name string + Needs []string + Repeat *Repeat + SkipIf string + Steps []*Step + func LoadEmbeddedJob(path string) (*Job, error) + func (j *Job) ApplyDefaults() + func (j *Job) RunIndependently(vars map[string]any, printer *Printer, jobID string) (bool, map[string]any, string, string, time.Duration) + func (j *Job) RunStandalone(vars map[string]any, printer *Printer, jobID, baseDir string, ...) JobRun + func (j *Job) Start(ctx JobContext) error + func (j *Job) UseActions(names map[string]string) error + type JobContext struct + CurrentJobID string + Failed bool + IsRepeating bool + JobScheduler *JobScheduler + Outputs *Outputs + Printer *Printer + RepeatCurrent int + RepeatTotal int + Result *Result + StepCounters map[int]StepRepeatCounter + Vars map[string]any + func (j *JobContext) SetFailed() + type JobResult struct + EndTime time.Time + JobID string + JobName string + StartTime time.Time + Status string + StepResults []StepResult + Success bool + type JobRun struct + Duration time.Duration + Err error + Outputs map[string]any + Refused *actionrpc.Refused + Report string + Success bool + type JobScheduler struct + func NewJobScheduler() *JobScheduler + func (js *JobScheduler) AddJob(job *Job) error + func (js *JobScheduler) AllJobsCompleted() bool + func (js *JobScheduler) CanRunJob(jobID string) bool + func (js *JobScheduler) GetRepeatInfo(jobID string) (current, target int) + func (js *JobScheduler) GetRunnableJobs() []string + func (js *JobScheduler) IncrementRepeatCounter(jobID string) + func (js *JobScheduler) MarkJobsWithFailedDependencies() []string + func (js *JobScheduler) SetJobStatus(jobID string, status JobStatus, success bool) + func (js *JobScheduler) ShouldRepeatJob(jobID string) bool + func (js *JobScheduler) ValidateDependencies() error + type JobStatus int + const JobCompleted + const JobFailed + const JobPending + const JobRunning + type LogLevel int + const LogLevelDebug + const LogLevelError + const LogLevelInfo + const LogLevelWarn + type MockActionRunner struct + Calls map[string][]actionrpc.Call + Errors map[string]error + Results map[string]map[string]any + States map[string]map[string]any + func NewMockActionRunner() *MockActionRunner + func (m *MockActionRunner) RunActions(name string, with map[string]any, opts RunOptions) (map[string]any, error) + func (m *MockActionRunner) RunStep(name string, call actionrpc.Call, opts RunOptions) (map[string]any, map[string]any, error) + func (m *MockActionRunner) SetError(actionName string, err error) + func (m *MockActionRunner) SetResult(actionName string, result map[string]any) + type NameTakenError struct + func (e *NameTakenError) Error() string + type OutputMode int + const OutputModeAuto + const OutputModeSpinner + const OutputModeStream + func ParseOutputMode(s string) (OutputMode, error) + func (m OutputMode) String() string + type Outputs struct + func NewOutputs() *Outputs + func (o *Outputs) Get(stepID string) (map[string]any, bool) + func (o *Outputs) GetAll() map[string]any + func (o *Outputs) GetAllWithFlat() map[string]any + func (o *Outputs) GetConflicts() map[string][]string + func (o *Outputs) GetFlat(outputName string) (any, bool) + func (o *Outputs) Set(stepID string, outputs map[string]any) error + type PluginActionRunner struct + func (p *PluginActionRunner) RunActions(name string, with map[string]any, opts RunOptions) (map[string]any, error) + func (p *PluginActionRunner) RunStep(name string, call actionrpc.Call, opts RunOptions) (map[string]any, map[string]any, error) + type Printer struct + Buffer map[string]*strings.Builder + BufferIDs []string + func NewPrinter(verbose bool, bufferIDs []string) *Printer + func (p *Printer) AddSpinnerSuffix(txt string) + func (p *Printer) Fprint(w io.Writer, a ...any) + func (p *Printer) Fprintf(w io.Writer, f string, a ...any) + func (p *Printer) Fprintln(w io.Writer, a ...any) + func (p *Printer) GenerateReport(rs *Result) string + func (p *Printer) GenerateReportOnlySteps(rs *Result) string + func (p *Printer) LogDebug(format string, args ...any) + func (p *Printer) LogError(format string, args ...any) + func (p *Printer) LogWarn(format string, args ...any) + func (p *Printer) Masker() *mask.Masker + func (p *Printer) PrintEchoContent(content string) + func (p *Printer) PrintError(format string, args ...any) + func (p *Printer) PrintHeader(name, description string) + func (p *Printer) PrintMapData(data map[string]any) + func (p *Printer) PrintReport(rs *Result) + func (p *Printer) PrintRequestResponse(stepIdx int, stepName string, req, res map[string]any, rt string) + func (p *Printer) PrintSeparator() + func (p *Printer) PrintTestResult(success bool, testExpr string, context any) + func (p *Printer) PrintVerbose(format string, args ...any) + func (p *Printer) Reporter() Reporter + func (p *Printer) SetBufferIDs(ids []string) + func (p *Printer) SetMasker(m *mask.Masker) + func (p *Printer) SetReporter(r Reporter) + func (p *Printer) StartSpinner() + func (p *Printer) StepStart(jobID, stepName string) + func (p *Printer) StopSpinner() + type Probe struct + Config Config + FilePath string + func New(path string, v bool) *Probe + func (p *Probe) DagAscii() (string, error) + func (p *Probe) DagMermaid() (string, error) + func (p *Probe) Do() error + func (p *Probe) ExitStatus() int + func (p *Probe) Load() error + type ProbeError struct + Cause error + Context map[string]any + Message string + Operation string + Type ErrorType + func NewActionError(operation, message string, cause error) *ProbeError + func NewConfigurationError(operation, message string, cause error) *ProbeError + func NewExecutionError(operation, message string, cause error) *ProbeError + func NewFileError(operation, message string, cause error) *ProbeError + func NewProbeError(errorType ErrorType, operation, message string, cause error) *ProbeError + func (e *ProbeError) Error() string + func (e *ProbeError) Is(target error) bool + func (e *ProbeError) Unwrap() error + func (e *ProbeError) WithContext(key string, value any) *ProbeError + type Repeat struct + Async bool + Count int + Interval Interval + func (r *Repeat) Validate() error + type Reporter interface + Finish func(rs *Result) + JobDone func(jobID string, jr *JobResult) + Start func(name, description string) + StepDone func(jobID string, sr StepResult) + StepStart func(jobID, stepName string) + type ResponseTime struct + Duration string + Sec float64 + type Result struct + Jobs map[string]*JobResult + func NewResult() *Result + func (rs *Result) AddStepResult(jobID string, stepResult StepResult) + func (rs *Result) SetReporter(r Reporter) + type RunOptions struct + BaseDir string + Masker *mask.Masker + Quiet bool + Verbose bool + type StandaloneOption func(*standaloneConfig) + func WithActions(names map[string]string) StandaloneOption + func WithBuiltinActions(names []string) StandaloneOption + func WithGuard(guard actionrpc.Guard) StandaloneOption + func WithRunID(id string) StandaloneOption + type StatusType int + const StatusError + const StatusSkipped + const StatusSuccess + const StatusWarning + type Step struct + Echo string + Expr *expr.Expr + ID string + Idx int + Iteration Iteration + Name string + Outputs map[string]string + Retry *StepRetry + SkipIf string + Test string + Timeout Interval + Uses string + Vars map[string]any + Wait string + With map[string]any + func (st *Step) Do(jCtx *JobContext) + func (st *Step) DoTest(printer *Printer) (string, bool) + func (st *Step) SetCtx(j JobContext, override map[string]any) + type StepActionRunner interface + RunStep func(name string, call actionrpc.Call, opts RunOptions) (result, newState map[string]any, err error) + type StepContext struct + Outputs map[string]any + RT ResponseTime + RepeatIndex int + Report string + Req map[string]any + Res map[string]any + Status int + Vars map[string]any + type StepFailure struct + Kind string + Message string + Request map[string]any + Response map[string]any + Violations []report.Violation + type StepRepeatCounter struct + Checked bool + Contract *report.Contract + EchoOutputs []string + Failure *StepFailure + FailureCount int + LastResult bool + Name string + RepeatTotal int + SkippedCount int + SuccessCount int + Test string + type StepResult struct + Contract *report.Contract + EchoOutput string + Elapsed time.Duration + Failure *StepFailure + HasTest bool + Index int + Name string + RT string + RTSec float64 + RepeatCounter *StepRepeatCounter + Report string + RetryAttempt int + RetryMax int + StartedAt time.Time + Status StatusType + Test string + TestOutput string + WaitTime string + type StepRetry struct + InitialDelay Interval + Interval Interval + MaxAttempts int + func (s *StepRetry) Validate() error + type StreamReporter struct + func NewStreamReporter(p *Printer) *StreamReporter + func (r *StreamReporter) Finish(rs *Result) + func (r *StreamReporter) JobDone(jobID string, jr *JobResult) + func (r *StreamReporter) Start(name, description string) + func (r *StreamReporter) StepDone(jobID string, sr StepResult) + func (r *StreamReporter) StepStart(jobID, stepName string) + type Workflow struct + Actions map[string]string + Defaults any + Description string + Jobs []Job + Name string + Secrets []string + Vars map[string]any + func (w *Workflow) Env() map[string]string + func (w *Workflow) Graph() dag.Graph + func (w *Workflow) RunID() string + func (w *Workflow) SetExitStatus(isErr bool) + func (w *Workflow) Start(c Config) error