Documentation
¶
Index ¶
Constants ¶
View Source
const ( ExitCodeKilled int = 137 // Store no more than 1mb in a log-line as 4mb is the limit of a grpc message // and log-lines needs to be parsed by the browsers later on. MaxLogLineLength int = 1 * 1024 * 1024 // 1mb InternalLabelPrefix string = "crowci" LabelForgeRemoteID string = InternalLabelPrefix + "/forge-id" LabelRepoForgeID string = InternalLabelPrefix + "/repo-forge-id" LabelRepoID string = InternalLabelPrefix + "/repo-id" LabelRepoName string = InternalLabelPrefix + "/repo-name" LabelRepoFullName string = InternalLabelPrefix + "/repo-full-name" LabelBranch string = InternalLabelPrefix + "/branch" LabelOrgID string = InternalLabelPrefix + "/org-id" LabelPlatform string = "platform" LabelHostname string = "hostname" LabelBackend string = "backend" LabelAgent string = "agent" // LabelFilter* constants are used for agent filtering. LabelFilterOrg string = "org-id" LabelFilterRepo string = "repo" LabelFilterPlatform string = "platform" LabelFilterHostname string = "hostname" LabelFilterBackend string = "backend" LabelFilterAgent string = "agent" )
Variables ¶
View Source
var ( // ErrSkip is used as a return value when container execution should be // skipped at runtime. It is not returned as an error by any function. ErrSkip = errors.New("Skipped") // ErrCancel is used as a return value when the container execution receives // a cancellation signal from the context. ErrCancel = errors.New("Canceled") )
View Source
var DefaultTracer = TraceFunc(func(state *State) error { if state.Process.Exited { return nil } if state.Pipeline.Step.Environment == nil { return nil } state.Pipeline.Step.Environment["CI_PIPELINE_STARTED"] = strconv.FormatInt(state.Pipeline.Started, 10) state.Pipeline.Step.Environment["CI_STEP_STARTED"] = strconv.FormatInt(state.Pipeline.Started, 10) return nil })
DefaultTracer provides a tracer that updates the CI_ environment variables to include the correct timestamp and status. TODO: find either a new home or better name for this.
View Source
var ManagedLabels = map[string]bool{ LabelForgeRemoteID: true, LabelRepoForgeID: true, LabelRepoID: true, LabelRepoName: true, LabelRepoFullName: true, LabelBranch: true, LabelOrgID: true, }
ManagedLabels is a list of all labels added automatically to tasks by Crow.
Functions ¶
func CancelShutdown ¶
func CancelShutdown()
func GetShutdownCtx ¶
Types ¶
type Logger ¶
type Logger func(*backend.Step, io.ReadCloser) error
Logger handles the process logging.
type Option ¶
type Option func(*Runtime)
Option configures a runtime option.
func WithBackend ¶
WithBackend returns an option configured with a runtime engine.
func WithContext ¶
WithContext returns an option configured with a context.
func WithDescription ¶
func WithLogger ¶
WithLogger returns an option configured with a runtime logger.
func WithTaskUUID ¶
func WithTracer ¶
WithTracer returns an option configured with a runtime tracer.
type Runtime ¶
type Runtime struct {
Description map[string]string // The runtime descriptors.
// contains filtered or unexported fields
}
Runtime is a configuration runtime.
func (*Runtime) MakeLogger ¶
type State ¶
type State struct {
// Global state of the pipeline.
Pipeline struct {
// Pipeline time started
Started int64 `json:"time"`
// Current pipeline step
Step *backend.Step `json:"step"`
// Current pipeline error state
Error error `json:"error"`
}
// Current process state.
Process *backend.State
}
State defines the pipeline and process state.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.