task

package
v1.8.0-alpha-aaaabbbb1234 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact added in v1.7.0

type Artifact struct {
	// Name is the key under which the artifacts will be stored
	//
	// Currently this is unused
	Name string `mapstructure:"name" yaml:"name,omitempty" json:"name,omitempty"`
	// Path is the glob like pattern to the
	// source of the file(s) to store as an output
	Path string `mapstructure:"path" yaml:"path" json:"path"`
	// Type is the artifact type
	// valid values are `file`|`dotenv`
	Type ArtifactType `mapstructure:"type" yaml:"type" json:"type" jsonschema:"enum=dotenv,enum=file,default=file"`
}

Artifact holds the information about the artifact to produce for the specific task.

NB: it is run at the end of the task so any after commands that mutate the output files/dotenv file will essentially overwrite anything set/outputted as part of the main command

type ArtifactType added in v1.7.0

type ArtifactType string
const (
	FileArtifactType   ArtifactType = "file"
	DotEnvArtifactType ArtifactType = "dotenv"
)

type Task

type Task struct {
	Commands     []string // Commands to run
	Context      string
	Env          variables.Container
	Variables    variables.Container
	Variations   []map[string]string
	Dir          string
	Timeout      *time.Duration
	AllowFailure bool
	After        []string
	Before       []string
	Interactive  bool
	// ResetContext is useful if multiple variations are running in the same task
	ResetContext bool
	Condition    string
	Artifacts    *Artifact

	Name        string
	Description string

	Log struct {
		Stderr *bytes.Buffer
		Stdout *bytes.Buffer
	}
	// Generator Task Level
	Generator map[string]any
	// contains filtered or unexported fields
}

Task is a structure that describes task, its commands, environment, working directory etc. After task completes it provides task's execution status, exit code, stdout and stderr

func FromCommands

func FromCommands(name string, commands ...string) *Task

FromCommands creates task new Task instance with given commands

func NewTask

func NewTask(name string) *Task

NewTask creates new Task instance

func (*Task) Duration

func (t *Task) Duration() time.Duration

Duration returns task's execution duration

func (*Task) End

func (t *Task) End() time.Time

func (*Task) Error

func (t *Task) Error() error

func (*Task) ErrorMessage

func (t *Task) ErrorMessage() string

ErrorMessage returns message of the error occurred during task execution

func (*Task) Errored

func (t *Task) Errored() bool

func (*Task) ExitCode

func (t *Task) ExitCode() int16

func (*Task) GetVariations

func (t *Task) GetVariations() []map[string]string

GetVariations returns array of maps which are task's variations if no variations exist one is returned to create the default job

func (*Task) Output

func (t *Task) Output() string

Output returns task's stdout as a string

func (*Task) Skipped

func (t *Task) Skipped() bool

func (*Task) Start

func (t *Task) Start() time.Time

func (*Task) WithEnd

func (t *Task) WithEnd(end time.Time) *Task

end time.Time

func (*Task) WithEnv

func (t *Task) WithEnv(key, value string) *Task

WithEnv sets environment variable

func (*Task) WithError

func (t *Task) WithError(val error) *Task

errored bool

func (*Task) WithExitCode

func (t *Task) WithExitCode(val int16) *Task

exitCode int16

func (*Task) WithSkipped

func (t *Task) WithSkipped(val bool) *Task

skipped bool

func (*Task) WithStart

func (t *Task) WithStart(start time.Time) *Task

Withers start time.Time

Jump to

Keyboard shortcuts

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