Documentation ¶
Index ¶
- Constants
- Variables
- type Environment
- type Environments
- type ErrEmptyCommand
- type ExecutionFailedError
- type MockCommandExecutor
- type Shell
- func (s *Shell) Changelog() string
- func (s *Shell) Condition(source string, scm scm.ScmHandler, resultCondition *result.Condition) error
- func (s *Shell) InitChangedIf() error
- func (s *Shell) Source(workingDir string, resultSource *result.Source) error
- func (s *Shell) Target(source string, scm scm.ScmHandler, dryRun bool, resultTarget *result.Target) error
- type Spec
- type SpecChangedIf
- type Successer
Constants ¶
const ( // DryRunVariableName specifies the environment variable used within shell script to detect if we are in dryrun mode DryRunVariableName = "DRY_RUN" // CurrentStageVariableName is the environment variable containing the current pipeline stage such as source, condition, target CurrentStageVariableName = "UPDATECLI_PIPELINE_STAGE" )
const (
WINOS string = "windows"
)
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Environment ¶ added in v0.28.0
type Environment struct { // Name defines the environment variable name Name string `yaml:",omitempty" jsonschema:"required"` // Value defines the environment variable value Value string `yaml:",omitempty"` }
Environment is a struct containing information for an environment variable such as its name and its value
func (*Environment) Load ¶ added in v0.28.0
func (e *Environment) Load() error
Load updates the environment value based on Updatecli environment variables, if the value is not defined yet
func (Environment) String ¶ added in v0.28.0
func (e Environment) String() string
func (Environment) Validate ¶ added in v0.28.0
func (e Environment) Validate() error
Validate ensures that required parameter are set
type Environments ¶ added in v0.28.0
type Environments []Environment
func (*Environments) Load ¶ added in v0.28.0
func (e *Environments) Load() error
Load updates all environment value based on Updatecli environment variables, at the condition that the value is not defined yet
func (Environments) ToStringSlice ¶ added in v0.28.0
func (e Environments) ToStringSlice() []string
ToStringSlice return all environment variable key=value as a slice of string
func (Environments) Validate ¶ added in v0.28.0
func (e Environments) Validate() error
Validate ensures that we don't have duplicated value for a variable and that the user is not attempting to override the DRY_RUN reserved variable.
type ErrEmptyCommand ¶
type ErrEmptyCommand struct{}
func (*ErrEmptyCommand) Error ¶
func (e *ErrEmptyCommand) Error() string
type ExecutionFailedError ¶
type ExecutionFailedError struct{}
func (*ExecutionFailedError) Error ¶
func (e *ExecutionFailedError) Error() string
type MockCommandExecutor ¶
type MockCommandExecutor struct { GotCommand command Result commandResult Err error }
MockCommandExecutor is a stub implementation of the `commandExecutor` interface to be used in our test suite. It stores the received `command` and returns the preconfigured `result` and `err`.
func (*MockCommandExecutor) ExecuteCommand ¶
func (mce *MockCommandExecutor) ExecuteCommand(cmd command) (commandResult, error)
type Shell ¶
type Shell struct {
// contains filtered or unexported fields
}
Shell defines a resource of kind "shell"
func New ¶
New returns a reference to a newly initialized Shell object from a ShellSpec or an error if the provided ShellSpec triggers a validation error.
func (*Shell) Changelog ¶
Changelog returns the changelog for this resource, or an empty string if not supported
func (*Shell) Condition ¶
func (s *Shell) Condition(source string, scm scm.ScmHandler, resultCondition *result.Condition) error
Condition tests if the provided command (concatenated with the source) is executed with success
func (*Shell) InitChangedIf ¶ added in v0.44.0
type Spec ¶
type Spec struct { // command specifies the shell command to execute by Updatecli Command string `yaml:",omitempty" jsonschema:"required"` // environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared. Environments Environments `yaml:",omitempty"` // ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean ChangedIf SpecChangedIf `yaml:",omitempty" json:",omitempty"` // Shell specifies which shell interpreter to use. Default to powershell(Windows) and "/bin/sh" (Darwin/Linux) Shell string `yaml:",omitempty"` // workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path. WorkDir string `yaml:",omitempty"` }
Spec defines a specification for a "shell" resource parsed from an updatecli manifest file
type SpecChangedIf ¶ added in v0.44.0
type SpecChangedIf struct { // Kind specifies the success criteria kind, accepted answer ["console/output","exitcode","file/checksum"] Kind string `yaml:",omitempty"` // Spec specifies the parameter for a specific success criteria kind Spec interface{} `yaml:",omitempty"` }
func (SpecChangedIf) JSONSchema ¶ added in v0.44.0
func (SpecChangedIf) JSONSchema() *jschema.Schema
JSONSchema implements the json schema interface to generate the "condition" jsonschema.