internal/app/acceptance
import "github.com/nilstate/scafld/v2/internal/app/acceptance"
Functions
func Evaluate(ctx context.Context, runner Runner, input EvaluateInput) EvaluateOutput
Source: internal/app/acceptance/acceptance.go:66
Evaluate runs and evaluates criteria without mutating lifecycle or session state.
Types
type Criterion
Source: internal/app/acceptance/acceptance.go:35
Criterion is the app-level acceptance criterion shape shared by build and gate.
type Criterion struct {
ID string
Type string
Command string
ExpectedKind string
}Fields
ID stringType stringCommand stringExpectedKind string
type CriterionResult
Source: internal/app/acceptance/acceptance.go:43
CriterionResult is immutable evidence for one evaluated criterion.
type CriterionResult struct {
ID string
Type string
Command string
ExpectedKind string
Status string
ExitCode int
Reason string
DiagnosticPath string
Evidence string
StdoutDigest string
StderrDigest string
StartedAt time.Time
EndedAt time.Time
}Fields
ID stringType stringCommand stringExpectedKind stringStatus stringExitCode intReason stringDiagnosticPath stringEvidence stringStdoutDigest stringStderrDigest stringStartedAt time.TimeEndedAt time.Time
type EvaluateInput
Source: internal/app/acceptance/acceptance.go:21
EvaluateInput describes criteria and execution settings for one acceptance pass.
type EvaluateInput struct {
Criteria []Criterion
WorkDir string
Env []string
Timeout time.Duration
IdleTimeout time.Duration
DiagnosticDir string
// FailFast stops evaluation after the first non-pass criterion. The gate sets
// it so a red criterion cannot run later commands (which could mutate the
// workspace); build leaves it false to record every criterion.
FailFast bool
}Fields
Criteria []CriterionWorkDir stringEnv []stringTimeout time.DurationIdleTimeout time.DurationDiagnosticDir stringFailFast boolFailFast stops evaluation after the first non-pass criterion. The gate sets it so a red criterion cannot run later commands (which could mutate the workspace); build leaves it false to record every criterion.
type EvaluateOutput
Source: internal/app/acceptance/acceptance.go:60
EvaluateOutput summarizes evaluated criteria.
type EvaluateOutput struct {
Results []CriterionResult
Passed bool
}Fields
Results []CriterionResultPassed bool
type Runner
Source: internal/app/acceptance/acceptance.go:16
Runner executes acceptance commands.
type Runner interface {
Run(context.Context, execution.Request) (execution.Result, error)
}Methods
Run func(context.Context, execution.Request) (execution.Result, error)
