22 lines
501 B
Go
22 lines
501 B
Go
package stage
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gitea.maximumdirect.net/eric/narratio/internal/app"
|
|
"gitea.maximumdirect.net/eric/narratio/internal/artifacts"
|
|
"gitea.maximumdirect.net/eric/narratio/internal/manifest"
|
|
)
|
|
|
|
// Stage is the pipeline unit contract.
|
|
type Stage interface {
|
|
Name() string
|
|
Run(ctx context.Context, env *app.Env, m *manifest.Manifest) (*Result, error)
|
|
}
|
|
|
|
// Result is the declared output of a stage execution.
|
|
type Result struct {
|
|
Outputs []artifacts.Ref
|
|
Metadata map[string]any
|
|
}
|