Documentation ¶
Index ¶
- Variables
- func BoundedCommands(commands []*api.Command, fromName, toName string) []*api.Command
- func ConvertAnnotations(annotations []model.Annotation) []*api.Annotation
- func DeduplicatePaths(paths []string) (result []string)
- func EnsureFolderExists(path string)
- func EnvMapAsSlice(env map[string]string) []string
- func FetchCache(ctx context.Context, logUploader *LogUploader, commandName string, ...) (*os.File, time.Duration, error)
- func InitializeLogSaveClient(ctx context.Context, taskIdentification *api.TaskIdentification, ...) (api.CirrusCIService_SaveLogsClient, error)
- func InitializeLogStreamClient(ctx context.Context, taskIdentification *api.TaskIdentification, ...) (api.CirrusCIService_StreamLogsClient, error)
- func ShellCommandsAndWait(ctx context.Context, scripts []string, custom_env *environment.Environment, ...) (*exec.Cmd, error)
- func TempFileName(prefix, suffix string) (*os.File, error)
- func UploadCacheFile(ctx context.Context, cacheURL string, cacheFile *os.File) error
- type ArtifactUploader
- type Artifacts
- type Cache
- type CacheAttempts
- func (ca *CacheAttempts) Failed(key string, error string)
- func (ca *CacheAttempts) Hit(key string, size uint64, downloadedIn, extractedIn time.Duration)
- func (ca *CacheAttempts) Miss(key string, size uint64, archivedIn, uploadedIn time.Duration)
- func (ca *CacheAttempts) PopulatedIn(key string, populatedIn time.Duration)
- func (ca *CacheAttempts) ToProto() map[string]*api.CacheRetrievalAttempt
- type CommandAndLogs
- type Executor
- func (executor *Executor) CloneRepository(ctx context.Context, logUploader *LogUploader, env *environment.Environment) bool
- func (executor *Executor) CreateFile(ctx context.Context, logUploader *LogUploader, ...) bool
- func (executor *Executor) DownloadCache(ctx context.Context, logUploader *LogUploader, commandName string, ...) bool
- func (executor *Executor) ExecuteScriptsAndStreamLogs(ctx context.Context, logUploader *LogUploader, scripts []string, ...) (*exec.Cmd, error)
- func (executor *Executor) ExecuteScriptsStreamLogsAndWait(ctx context.Context, logUploader *LogUploader, commandName string, ...) (*exec.Cmd, error)
- func (executor *Executor) RunBuild(ctx context.Context)
- func (executor *Executor) UploadArtifacts(ctx context.Context, logUploader *LogUploader, name string, ...) bool
- func (executor *Executor) UploadCache(ctx context.Context, logUploader *LogUploader, commandName string, ...) bool
- type GRPCUploader
- type HTTPSUploader
- type InstantiateArtifactUploaderFunc
- type LogUploader
- func (uploader *LogUploader) Finalize()
- func (uploader *LogUploader) ReadAvailableChunks() ([]byte, bool)
- func (uploader *LogUploader) StreamLogs()
- func (uploader *LogUploader) UploadStoredOutput(ctx context.Context) error
- func (uploader *LogUploader) WithTimestamps(input []byte) []byte
- func (uploader *LogUploader) Write(bytes []byte) (int, error)
- func (uploader *LogUploader) WriteChunk(bytesToWrite []byte) (int, error)
- type ProcessedPath
- type ProcessedPattern
- type ShellCommands
- type ShellOutputHandler
- type ShellOutputWriter
- type StepResult
- type UploadDescriptor
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrArtifactsPathOutsideWorkingDir = errors.New("path is outside of CIRRUS_WORKING_DIR")
View Source
var (
ErrStepExit = errors.New("executor step requested to terminate execution")
)
View Source
var TimeOutError = errors.New("timed out")
Functions ¶
func BoundedCommands ¶ added in v1.6.0
BoundedCommands bounds a slice of commands with unique names to a half-open range [fromName, toName).
func ConvertAnnotations ¶
func ConvertAnnotations(annotations []model.Annotation) []*api.Annotation
func DeduplicatePaths ¶ added in v1.15.0
func EnsureFolderExists ¶
func EnsureFolderExists(path string)
func EnvMapAsSlice ¶ added in v1.68.0
func FetchCache ¶
func InitializeLogSaveClient ¶
func InitializeLogSaveClient( ctx context.Context, taskIdentification *api.TaskIdentification, commandName string, raw bool, ) (api.CirrusCIService_SaveLogsClient, error)
func InitializeLogStreamClient ¶
func InitializeLogStreamClient(ctx context.Context, taskIdentification *api.TaskIdentification, commandName string, raw bool) (api.CirrusCIService_StreamLogsClient, error)
func ShellCommandsAndWait ¶
func ShellCommandsAndWait( ctx context.Context, scripts []string, custom_env *environment.Environment, handler ShellOutputHandler, shouldKillProcesses bool, ) (*exec.Cmd, error)
return true if executed successful
Types ¶
type ArtifactUploader ¶ added in v1.95.0
type ArtifactUploader interface { Upload(ctx context.Context, artifact io.Reader, relativeArtifactPath string, size int64) error Finish(ctx context.Context) error }
func NewGRPCUploader ¶ added in v1.95.0
func NewGRPCUploader( ctx context.Context, taskIdentification *api.TaskIdentification, artifacts *Artifacts, ) (ArtifactUploader, error)
func NewHTTPSUploader ¶ added in v1.95.0
func NewHTTPSUploader( ctx context.Context, taskIdentification *api.TaskIdentification, artifacts *Artifacts, ) (ArtifactUploader, error)
type Artifacts ¶ added in v1.95.0
type Artifacts struct { Name string Type string Format string // contains filtered or unexported fields }
func NewArtifacts ¶ added in v1.95.0
func NewArtifacts( name string, artifactsInstruction *api.ArtifactsInstruction, customEnv *environment.Environment, ) (*Artifacts, error)
func (*Artifacts) UploadableFiles ¶ added in v1.96.0
func (artifacts *Artifacts) UploadableFiles() []*api.ArtifactFileInfo
type Cache ¶
type CacheAttempts ¶ added in v1.47.0
type CacheAttempts struct {
// contains filtered or unexported fields
}
func NewCacheAttempts ¶ added in v1.47.0
func NewCacheAttempts() *CacheAttempts
func (*CacheAttempts) Failed ¶ added in v1.47.0
func (ca *CacheAttempts) Failed(key string, error string)
func (*CacheAttempts) Hit ¶ added in v1.47.0
func (ca *CacheAttempts) Hit(key string, size uint64, downloadedIn, extractedIn time.Duration)
func (*CacheAttempts) Miss ¶ added in v1.47.0
func (ca *CacheAttempts) Miss(key string, size uint64, archivedIn, uploadedIn time.Duration)
func (*CacheAttempts) PopulatedIn ¶ added in v1.47.0
func (ca *CacheAttempts) PopulatedIn(key string, populatedIn time.Duration)
func (*CacheAttempts) ToProto ¶ added in v1.47.0
func (ca *CacheAttempts) ToProto() map[string]*api.CacheRetrievalAttempt
type CommandAndLogs ¶
type CommandAndLogs struct { Name string Cmd *exec.Cmd Logs *LogUploader }
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
func NewExecutor ¶
func (*Executor) CloneRepository ¶
func (executor *Executor) CloneRepository( ctx context.Context, logUploader *LogUploader, env *environment.Environment, ) bool
func (*Executor) CreateFile ¶
func (executor *Executor) CreateFile( ctx context.Context, logUploader *LogUploader, instruction *api.FileInstruction, env *environment.Environment, ) bool
func (*Executor) DownloadCache ¶ added in v1.45.0
func (executor *Executor) DownloadCache( ctx context.Context, logUploader *LogUploader, commandName string, cacheHost string, instruction *api.CacheInstruction, custom_env *environment.Environment, ) bool
func (*Executor) ExecuteScriptsAndStreamLogs ¶
func (executor *Executor) ExecuteScriptsAndStreamLogs( ctx context.Context, logUploader *LogUploader, scripts []string, env *environment.Environment, ) (*exec.Cmd, error)
func (*Executor) ExecuteScriptsStreamLogsAndWait ¶
func (executor *Executor) ExecuteScriptsStreamLogsAndWait( ctx context.Context, logUploader *LogUploader, commandName string, scripts []string, env *environment.Environment) (*exec.Cmd, error)
func (*Executor) UploadArtifacts ¶ added in v1.45.0
func (executor *Executor) UploadArtifacts( ctx context.Context, logUploader *LogUploader, name string, artifactsInstruction *api.ArtifactsInstruction, customEnv *environment.Environment, ) bool
func (*Executor) UploadCache ¶ added in v1.45.0
func (executor *Executor) UploadCache( ctx context.Context, logUploader *LogUploader, commandName string, cacheHost string, instruction *api.UploadCacheInstruction, ) bool
type GRPCUploader ¶ added in v1.95.0
type GRPCUploader struct {
// contains filtered or unexported fields
}
type HTTPSUploader ¶ added in v1.95.0
type HTTPSUploader struct {
// contains filtered or unexported fields
}
type InstantiateArtifactUploaderFunc ¶ added in v1.95.0
type InstantiateArtifactUploaderFunc func( ctx context.Context, taskIdentification *api.TaskIdentification, artifacts *Artifacts, ) (ArtifactUploader, error)
type LogUploader ¶
type LogUploader struct { // Fields related to the CIRRUS_LOG_TIMESTAMP behavioral environment variable LogTimestamps bool GetTimestamp func() time.Time OweTimestamp bool // contains filtered or unexported fields }
func NewLogUploader ¶
func (*LogUploader) Finalize ¶
func (uploader *LogUploader) Finalize()
func (*LogUploader) ReadAvailableChunks ¶
func (uploader *LogUploader) ReadAvailableChunks() ([]byte, bool)
func (*LogUploader) StreamLogs ¶
func (uploader *LogUploader) StreamLogs()
func (*LogUploader) UploadStoredOutput ¶
func (uploader *LogUploader) UploadStoredOutput(ctx context.Context) error
func (*LogUploader) WithTimestamps ¶ added in v1.17.0
func (uploader *LogUploader) WithTimestamps(input []byte) []byte
func (*LogUploader) WriteChunk ¶
func (uploader *LogUploader) WriteChunk(bytesToWrite []byte) (int, error)
type ProcessedPath ¶ added in v1.71.0
type ProcessedPath struct {
// contains filtered or unexported fields
}
type ProcessedPattern ¶ added in v1.95.0
type ProcessedPattern struct { Pattern string Paths []*ProcessedPath }
type ShellCommands ¶
type ShellCommands struct {
// contains filtered or unexported fields
}
func NewShellCommands ¶ added in v1.45.0
func NewShellCommands( ctx context.Context, scripts []string, custom_env *environment.Environment, handler ShellOutputHandler, ) (*ShellCommands, error)
type ShellOutputHandler ¶
type ShellOutputWriter ¶
type StepResult ¶ added in v1.45.1
type UploadDescriptor ¶ added in v1.95.0
type UploadDescriptor struct {
// contains filtered or unexported fields
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.