Help us shape the future of Go! Take the 2026 Go Developer Survey

runner

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2020 License: MIT Imports: 22 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithJobLogger

func WithJobLogger(ctx context.Context, jobName string) context.Context

WithJobLogger attaches a new logger to context that is aware of steps

Types

type Config

type Config struct {
	Workdir         string            // path to working directory
	EventName       string            // name of event to run
	EventPath       string            // path to JSON file to use for event.json in containers
	ReuseContainers bool              // reuse containers to maintain state
	ForcePull       bool              // force pulling of the image, if already present
	LogOutput       bool              // log the output from docker run
	Secrets         map[string]string // list of secrets
	Platforms       map[string]string // list of platforms
}

Config contains the config for a new runner

type ExpressionEvaluator

type ExpressionEvaluator interface {
	Evaluate(string) (string, error)
	Interpolate(string) string
}

ExpressionEvaluator is the interface for evaluating expressions

type RunContext

type RunContext struct {
	Config      *Config
	Matrix      map[string]interface{}
	Run         *model.Run
	EventJSON   string
	Env         map[string]string
	Tempdir     string
	ExtraPath   []string
	CurrentStep string
	StepResults map[string]*stepResult
	ExprEval    ExpressionEvaluator
}

RunContext contains info about current job

func (*RunContext) Close

func (rc *RunContext) Close(ctx context.Context) error

Close cleans up temp dir

func (*RunContext) EvalBool

func (rc *RunContext) EvalBool(expr string) bool

EvalBool evaluates an expression against current run context

func (*RunContext) Executor

func (rc *RunContext) Executor() common.Executor

Executor returns a pipeline executor for all the steps in the job

func (*RunContext) GetEnv

func (rc *RunContext) GetEnv() map[string]string

GetEnv returns the env for the context

func (*RunContext) NewExpressionEvaluator

func (rc *RunContext) NewExpressionEvaluator() ExpressionEvaluator

NewExpressionEvaluator creates a new evaluator

func (*RunContext) NewStepExpressionEvaluator

func (rc *RunContext) NewStepExpressionEvaluator(step *model.Step) ExpressionEvaluator

NewStepExpressionEvaluator creates a new evaluator

func (*RunContext) StepEnv

func (rc *RunContext) StepEnv(step *model.Step) map[string]string

type Runner

type Runner interface {
	NewPlanExecutor(plan *model.Plan) common.Executor
	NewRunExecutor(run *model.Run, matrix map[string]interface{}) common.Executor
}

Runner provides capabilities to run GitHub actions

func New

func New(runnerConfig *Config) (Runner, error)

New Creates a new Runner

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL