runner

package
v0.2.23-0...-bc0bc1f Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2021 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const ActPath string = "/var/run/act"

Variables

This section is empty.

Functions

func WithJobLogger

func WithJobLogger(ctx context.Context, jobName string, secrets map[string]string, insecureSecrets bool) context.Context

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

Types

type Config

type Config struct {
	Actor                 string            // the user that triggered the event
	Workdir               string            // path to working directory
	BindWorkdir           bool              // bind the workdir to the job container
	EventName             string            // name of event to run
	EventPath             string            // path to JSON file to use for event.json in containers
	DefaultBranch         string            // name of the main branch for this repository
	ReuseContainers       bool              // reuse containers to maintain state
	ForcePull             bool              // force pulling of the image, even if already present
	LogOutput             bool              // log the output from docker run
	Env                   map[string]string // env for containers
	Secrets               map[string]string // list of secrets
	InsecureSecrets       bool              // switch hiding output when printing to terminal
	Platforms             map[string]string // list of platforms
	Privileged            bool              // use privileged mode
	UsernsMode            string            // user namespace to use
	ContainerArchitecture string            // Desired OS/architecture platform for running containers
	ContainerDaemonSocket string            // Path to Docker daemon socket
	UseGitIgnore          bool              // controls if paths in .gitignore should not be copied into container, default true
	GitHubInstance        string            // GitHub instance to use, default "github.com"
	ArtifactServerPath    string            // the path where the artifact server stores uploads
	ArtifactServerPort    string            // the port the artifact server binds to
}

Config contains the config for a new runner

func (*Config) ContainerWorkdir

func (config *Config) ContainerWorkdir() string

Resolves the equivalent host path inside the container This is required for windows and WSL 2 to translate things like C:\Users\Myproject to /mnt/users/Myproject

type ExpressionEvaluator

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

ExpressionEvaluator is the interface for evaluating expressions

type MappableOutput

type MappableOutput struct {
	StepID     string
	OutputName string
}

type RunContext

type RunContext struct {
	Name           string
	Config         *Config
	Matrix         map[string]interface{}
	Run            *model.Run
	EventJSON      string
	Env            map[string]string
	ExtraPath      []string
	CurrentStep    string
	StepResults    map[string]*stepResult
	ExprEval       ExpressionEvaluator
	JobContainer   container.Container
	OutputMappings map[MappableOutput]MappableOutput
	JobName        string
}

RunContext contains info about current job

func (*RunContext) ActionCacheDir

func (rc *RunContext) ActionCacheDir() string

ActionCacheDir is for rc

func (*RunContext) EvalBool

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

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) GetBindsAndMounts

func (rc *RunContext) GetBindsAndMounts() ([]string, map[string]string)

Returns the binds and mounts for the container, resolving paths as appopriate

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) String

func (rc *RunContext) String() string

type Runner

type Runner interface {
	NewPlanExecutor(plan *model.Plan) common.Executor
}

Runner provides capabilities to run GitHub actions

func New

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

New Creates a new Runner

type StepContext

type StepContext struct {
	RunContext *RunContext
	Step       *model.Step
	Env        map[string]string
	Cmd        []string
	Action     *model.Action
}

StepContext contains info about current job

func (*StepContext) Executor

func (sc *StepContext) Executor() common.Executor

Executor for a step context

func (*StepContext) NewExpressionEvaluator

func (sc *StepContext) NewExpressionEvaluator() ExpressionEvaluator

NewExpressionEvaluator creates a new evaluator

Jump to

Keyboard shortcuts

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