Documentation ¶
Index ¶
- Variables
- func EvalBool(ctx context.Context, evaluator ExpressionEvaluator, expr string, ...) (bool, error)
- func Masks(ctx context.Context) *[]string
- func WithCompositeLogger(ctx context.Context, masks *[]string) context.Context
- func WithCompositeStepLogger(ctx context.Context, stepID string) context.Context
- func WithJobLogger(ctx context.Context, jobID string, jobName string, config *Config, ...) context.Context
- func WithJobLoggerFactory(ctx context.Context, factory JobLoggerFactory) context.Context
- func WithMasks(ctx context.Context, masks *[]string) context.Context
- type ActionCache
- type Config
- type ExpressionEvaluator
- type GitFileInfo
- type GoGitActionCache
- type GoGitActionCacheOfflineMode
- type JobLoggerFactory
- type LocalRepositoryCache
- type MappableOutput
- type RunContext
- func (rc *RunContext) ActionCacheDir() string
- func (rc *RunContext) AddMask(mask string)
- func (rc *RunContext) ApplyExtraPath(ctx context.Context, env *map[string]string)
- func (rc *RunContext) Executor() (common.Executor, error)
- func (rc *RunContext) GetBindsAndMounts() ([]string, map[string]string)
- func (rc *RunContext) GetEnv() map[string]string
- func (rc *RunContext) GetNodeToolFullPath(ctx context.Context) string
- func (rc *RunContext) GetServiceBindsAndMounts(svcVolumes []string) ([]string, map[string]string)
- func (rc *RunContext) InitializeNodeTool() common.Executor
- func (rc *RunContext) IsHostEnv(ctx context.Context) bool
- func (rc *RunContext) NewExpressionEvaluator(ctx context.Context) ExpressionEvaluator
- func (rc *RunContext) NewExpressionEvaluatorWithEnv(ctx context.Context, env map[string]string) ExpressionEvaluator
- func (rc *RunContext) NewStepExpressionEvaluator(ctx context.Context, step step) ExpressionEvaluator
- func (rc *RunContext) NewStepExpressionEvaluatorExt(ctx context.Context, step step, rcInputs bool) ExpressionEvaluator
- func (rc *RunContext) String() string
- func (rc *RunContext) UpdateExtraPath(ctx context.Context, githubEnvPath string) error
- type Runner
Constants ¶
This section is empty.
Variables ¶
var (
ContainerNewContainer = container.NewContainer
)
Functions ¶
func EvalBool ¶ added in v0.2.26
func EvalBool(ctx context.Context, evaluator ExpressionEvaluator, expr string, defaultStatusCheck exprparser.DefaultStatusCheck) (bool, error)
EvalBool evaluates an expression against given evaluator
func WithCompositeLogger ¶ added in v0.2.27
func WithCompositeStepLogger ¶ added in v0.2.30
func WithJobLogger ¶
func WithJobLogger(ctx context.Context, jobID string, jobName string, config *Config, masks *[]string, matrix map[string]interface{}) context.Context
WithJobLogger attaches a new logger to context that is aware of steps
func WithJobLoggerFactory ¶ added in v0.2.35
func WithJobLoggerFactory(ctx context.Context, factory JobLoggerFactory) context.Context
Types ¶
type ActionCache ¶ added in v0.2.50
type Config ¶
type Config struct { Actor string // the user that triggered the event Workdir string // path to working directory ActionCacheDir string // path used for caching action contents ActionOfflineMode bool // when offline, use caching action contents 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 ForceRebuild bool // force rebuilding local docker image action LogOutput bool // log the output from docker run JSONLogger bool // use json or text logger LogPrefixJobID bool // switches from the full job name to the job id Env map[string]string // env for containers Inputs map[string]string // manually passed action inputs Secrets map[string]string // list of secrets Vars map[string]string // list of vars Token string // GitHub token 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 ContainerOptions string // Options for the job container UseGitIgnore bool // controls if paths in .gitignore should not be copied into container, default true GitHubInstance string // GitHub instance to use, default "github.com" ContainerCapAdd []string // list of kernel capabilities to add to the containers ContainerCapDrop []string // list of kernel capabilities to remove from the containers AutoRemove bool // controls if the container is automatically removed upon workflow completion ArtifactServerPath string // the path where the artifact server stores uploads ArtifactServerAddr string // the address the artifact server binds to ArtifactServerPort string // the port the artifact server binds to NoSkipCheckout bool // do not skip actions/checkout RemoteName string // remote name in local git repo config ReplaceGheActionWithGithubCom []string // Use actions from GitHub Enterprise instance to GitHub ReplaceGheActionTokenWithGithubCom string // Token of private action repo on GitHub. Matrix map[string]map[string]bool // Matrix config to run ContainerNetworkMode docker_container.NetworkMode // the network mode of job containers (the value of --network) ActionCache ActionCache // Use a custom ActionCache Implementation }
Config contains the config for a new runner
type ExpressionEvaluator ¶
type ExpressionEvaluator interface { EvaluateYamlNode(context.Context, *yaml.Node) error Interpolate(context.Context, string) string // contains filtered or unexported methods }
ExpressionEvaluator is the interface for evaluating expressions
type GitFileInfo ¶ added in v0.2.63
type GitFileInfo struct {
// contains filtered or unexported fields
}
func (*GitFileInfo) IsDir ¶ added in v0.2.63
func (g *GitFileInfo) IsDir() bool
IsDir implements fs.FileInfo.
func (*GitFileInfo) ModTime ¶ added in v0.2.63
func (g *GitFileInfo) ModTime() time.Time
ModTime implements fs.FileInfo.
func (*GitFileInfo) Mode ¶ added in v0.2.63
func (g *GitFileInfo) Mode() fs.FileMode
Mode implements fs.FileInfo.
func (*GitFileInfo) Name ¶ added in v0.2.63
func (g *GitFileInfo) Name() string
Name implements fs.FileInfo.
func (*GitFileInfo) Size ¶ added in v0.2.63
func (g *GitFileInfo) Size() int64
Size implements fs.FileInfo.
func (*GitFileInfo) Sys ¶ added in v0.2.63
func (g *GitFileInfo) Sys() any
Sys implements fs.FileInfo.
type GoGitActionCache ¶ added in v0.2.50
type GoGitActionCache struct {
Path string
}
func (GoGitActionCache) GetTarArchive ¶ added in v0.2.50
func (c GoGitActionCache) GetTarArchive(ctx context.Context, cacheDir, sha, includePrefix string) (io.ReadCloser, error)
type GoGitActionCacheOfflineMode ¶ added in v0.2.60
type GoGitActionCacheOfflineMode struct {
Parent GoGitActionCache
}
func (GoGitActionCacheOfflineMode) GetTarArchive ¶ added in v0.2.60
func (c GoGitActionCacheOfflineMode) GetTarArchive(ctx context.Context, cacheDir, sha, includePrefix string) (io.ReadCloser, error)
type JobLoggerFactory ¶ added in v0.2.35
type LocalRepositoryCache ¶ added in v0.2.60
type LocalRepositoryCache struct { Parent ActionCache LocalRepositories map[string]string CacheDirCache map[string]string }
func (*LocalRepositoryCache) GetTarArchive ¶ added in v0.2.60
func (l *LocalRepositoryCache) GetTarArchive(ctx context.Context, cacheDir, sha, includePrefix string) (io.ReadCloser, error)
type MappableOutput ¶ added in v0.2.22
type RunContext ¶
type RunContext struct { Name string Config *Config Matrix map[string]interface{} Run *model.Run EventJSON string Env map[string]string GlobalEnv map[string]string // to pass env changes of GITHUB_ENV and set-env correctly, due to dirty Env field ExtraPath []string CurrentStep string StepResults map[string]*model.StepResult IntraActionState map[string]map[string]string ExprEval ExpressionEvaluator JobContainer container.ExecutionsEnvironment ServiceContainers []container.ExecutionsEnvironment OutputMappings map[MappableOutput]MappableOutput JobName string ActionPath string Parent *RunContext Masks []string // contains filtered or unexported fields }
RunContext contains info about current job
func (*RunContext) ActionCacheDir ¶ added in v0.2.2
func (rc *RunContext) ActionCacheDir() string
ActionCacheDir is for rc
func (*RunContext) AddMask ¶ added in v0.2.26
func (rc *RunContext) AddMask(mask string)
func (*RunContext) ApplyExtraPath ¶ added in v0.2.35
func (rc *RunContext) ApplyExtraPath(ctx context.Context, env *map[string]string)
func (*RunContext) Executor ¶
func (rc *RunContext) Executor() (common.Executor, error)
Executor returns a pipeline executor for all the steps in the job
func (*RunContext) GetBindsAndMounts ¶ added in v0.2.22
func (rc *RunContext) GetBindsAndMounts() ([]string, map[string]string)
Returns the binds and mounts for the container, resolving paths as appropriate
func (*RunContext) GetEnv ¶
func (rc *RunContext) GetEnv() map[string]string
GetEnv returns the env for the context
func (*RunContext) GetNodeToolFullPath ¶ added in v0.2.65
func (rc *RunContext) GetNodeToolFullPath(ctx context.Context) string
func (*RunContext) GetServiceBindsAndMounts ¶ added in v0.2.53
func (rc *RunContext) GetServiceBindsAndMounts(svcVolumes []string) ([]string, map[string]string)
GetServiceBindsAndMounts returns the binds and mounts for the service container, resolving paths as appropriate
func (*RunContext) InitializeNodeTool ¶ added in v0.2.65
func (rc *RunContext) InitializeNodeTool() common.Executor
func (*RunContext) IsHostEnv ¶ added in v0.2.44
func (rc *RunContext) IsHostEnv(ctx context.Context) bool
func (*RunContext) NewExpressionEvaluator ¶
func (rc *RunContext) NewExpressionEvaluator(ctx context.Context) ExpressionEvaluator
NewExpressionEvaluator creates a new evaluator
func (*RunContext) NewExpressionEvaluatorWithEnv ¶ added in v0.2.35
func (rc *RunContext) NewExpressionEvaluatorWithEnv(ctx context.Context, env map[string]string) ExpressionEvaluator
func (*RunContext) NewStepExpressionEvaluator ¶
func (rc *RunContext) NewStepExpressionEvaluator(ctx context.Context, step step) ExpressionEvaluator
NewStepExpressionEvaluator creates a new evaluator
func (*RunContext) NewStepExpressionEvaluatorExt ¶ added in v0.2.69
func (rc *RunContext) NewStepExpressionEvaluatorExt(ctx context.Context, step step, rcInputs bool) ExpressionEvaluator
NewStepExpressionEvaluatorExt creates a new evaluator
func (*RunContext) String ¶ added in v0.2.5
func (rc *RunContext) String() string
func (*RunContext) UpdateExtraPath ¶ added in v0.2.35
func (rc *RunContext) UpdateExtraPath(ctx context.Context, githubEnvPath string) error
type Runner ¶
Runner provides capabilities to run GitHub actions
func NewReusableWorkflowRunner ¶ added in v0.2.35
func NewReusableWorkflowRunner(rc *RunContext) (Runner, error)