Documentation ¶
Overview ¶
Package run provides facilities to run commands inside Terramate context and ordering.
Index ¶
- Constants
- func BuildDAG(d *dag.DAG, root *config.Root, s *config.Stack, descendantsName string, ...) error
- func ExecAll(root *config.Root, runStacks []ExecContext, stdin io.Reader, stdout io.Writer, ...) error
- func Sort(root *config.Root, stacks config.List[*config.SortableStack]) (config.List[*config.SortableStack], string, error)
- type EnvVars
- type ExecContext
Constants ¶
const ( // ErrLoadingGlobals indicates that an error happened while loading globals. ErrLoadingGlobals errors.Kind = "loading globals to evaluate terramate.config.run.env configuration" // ErrEval indicates that an error happened while evaluating one of the // terramate.config.run.env attributes. ErrEval errors.Kind = "evaluating terramate.config.run.env attribute" // ErrInvalidEnvVarType indicates the env var attribute // has an invalid type. ErrInvalidEnvVarType errors.Kind = "invalid environment variable type" )
const ( // ErrFailed represents the error when the execution fails, whatever the reason. ErrFailed errors.Kind = "execution failed" // ErrCanceled represents the error when the execution was canceled. ErrCanceled errors.Kind = "execution canceled" )
const ErrNotFound errors.Kind = "executable file not found in $PATH"
ErrNotFound is the error resulting if a path search failed to find an executable file.
Variables ¶
This section is empty.
Functions ¶
func BuildDAG ¶
func BuildDAG( d *dag.DAG, root *config.Root, s *config.Stack, descendantsName string, getDescendants func(config.Stack) []string, ancestorsName string, getAncestors func(config.Stack) []string, visited dag.Visited, ) error
BuildDAG builds a run order DAG for the given stack.
func ExecAll ¶ added in v0.4.1
func ExecAll( root *config.Root, runStacks []ExecContext, stdin io.Reader, stdout io.Writer, stderr io.Writer, continueOnError bool, before func(s *config.Stack, cmd string), after func(s *config.Stack, err error), ) error
ExecAll will execute the list of RunStack definitions. A RunStack defines the stack and its command to be executed. During the execution of this function the default behavior for signal handling will be changed so we can wait for the child process to exit before exiting Terramate.
If continue on error is true this function will continue to execute commands on stacks even in face of failures, returning an error.L with all errors. If continue on error is false it will return as soon as it finds an error, returning a list with a single error inside.
Types ¶
type EnvVars ¶
type EnvVars []string
EnvVars represents a set of environment variables to be used when running commands. Each string follows the same format used on os.Environ and can be used to set env on exec.Cmd.
type ExecContext ¶ added in v0.4.1
ExecContext declares an stack execution context.