Internal

internal/app/acceptance

github.com/nilstate/scafld/v2/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 string
  • Type string
  • Command string
  • ExpectedKind 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 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

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 []Criterion
  • WorkDir string
  • Env []string
  • Timeout time.Duration
  • IdleTimeout time.Duration
  • DiagnosticDir string
  • FailFast bool

    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.

type EvaluateOutput

Source: internal/app/acceptance/acceptance.go:60

EvaluateOutput summarizes evaluated criteria.

type EvaluateOutput struct {
	Results []CriterionResult
	Passed  bool
}
Fields
  • Results []CriterionResult
  • Passed 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)