Documentation ¶
Index ¶
- Variables
- type AppendJobTraceParam
- type Client
- func (c *Client) AppendJobTrace(ctx context.Context, param AppendJobTraceParam) (nextRangeStart int, err error)
- func (c *Client) Register(ctx context.Context, param RegisterParam) (accessToken string, err error)
- func (c *Client) RequestJob(ctx context.Context, accessToken string) (job RequestJobResp, err error)
- func (c *Client) UpdateJob(ctx context.Context, param UpdateJobParam) (err error)
- type ClientOpt
- type FailureReason
- type Features
- type GitInfo
- type Info
- type JobCredential
- type JobInfo
- type JobState
- type JobStep
- type JobTrace
- type JobTraceOpt
- type JobVariable
- type RegisterParam
- type RegisterReq
- type RegisterResp
- type RequestJobReq
- type RequestJobResp
- type TraceSummary
- type UpdateJobParam
- type UpdateJobReq
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoJobAvailable = errors.New("no job available")
Functions ¶
This section is empty.
Types ¶
type AppendJobTraceParam ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client bridges Tart and Gitlab
func (*Client) AppendJobTrace ¶
func (*Client) RequestJob ¶
type ClientOpt ¶
type ClientOpt struct { // API endpoint, only scheme + host, e.g. https://gitlab.example.com Endpoint string // What feature does the runner support? Features Features }
type FailureReason ¶
type FailureReason string
const ( FailureReasonScriptFailure FailureReason = "script_failure" FailureReasonRunnerSystemFailure FailureReason = "runner_system_failure" FailureReasonArchivedFailure FailureReason = "archived_failure" FailureReasonJobTimeout FailureReason = "job_execution_timeout" FailureReasonRunnerUnsupported FailureReason = "runner_unsupported" )
type Features ¶
type Features struct { MultiBuildSteps bool `json:"multi_build_steps"` Cancelable bool `json:"cancelable"` ReturnExitCode bool `json:"return_exit_code"` Variables bool `json:"variables"` RawVariables bool `json:"raw_variables"` Artifacts bool `json:"artifacts"` UploadMultipleArtifacts bool `json:"upload_multiple_artifacts"` UploadRawArtifacts bool `json:"upload_raw_artifacts"` ArtifactsExclude bool `json:"artifacts_exclude"` TraceReset bool `json:"trace_reset"` TraceChecksum bool `json:"trace_checksum"` TraceSize bool `json:"trace_size"` }
Features describes the runner's abilities. Since Tart is a toy runner, a very limited set of features are supported.
type Info ¶
type Info struct { // e.g. amd64 Architecture string `json:"architecture"` // e.g. shell Executor string `json:"executor,omitempty"` // e.g. bash Shell string `json:"shell,omitempty"` // supported features Features Features `json:"features"` // e.g. gitlab-runner Name string `json:"name"` // e.g. linux Platform string `json:"platform"` // e.g. f98d0f26 Revision string `json:"revision"` // e.g. 15.2.0~beta.60.gf98d0f26 Version string `json:"version"` }
type JobCredential ¶
type JobTrace ¶
type JobTrace struct {
// contains filtered or unexported fields
}
func NewJobTrace ¶
func NewJobTrace(opt JobTraceOpt) (trace *JobTrace, err error)
type JobTraceOpt ¶
type JobVariable ¶
type RegisterParam ¶
type RegisterReq ¶
type RegisterReq struct { // Registration token Token string `json:"token"` // Runner's description Description string `json:"description"` // runner meta data Info Info `json:"info"` // Whether the runner should be locked for current project Locked bool `json:"locked"` // Runner's maintenance notes MaintenanceNote string `json:"maintenance_note"` // Whether the runner should ignore new jobs Paused bool `json:"paused"` // Whether the runner should handle untagged jobs RunUntagged bool `json:"run_untagged"` }
type RegisterResp ¶
type RequestJobReq ¶
type RequestJobResp ¶
type RequestJobResp struct { ID int `json:"id"` AllowGitFetch bool `json:"allow_git_fetch"` Artifacts interface{} `json:"artifacts"` Credentials []JobCredential `json:"credentials"` GitInfo GitInfo `json:"git_info"` JobInfo JobInfo `json:"job_info"` Steps []JobStep `json:"steps"` Token string `json:"token"` Variables []JobVariable `json:"variables"` }
type TraceSummary ¶
type UpdateJobParam ¶
type UpdateJobParam struct { // Job's authentication token JobToken string // Job's ID JobID int // Job's status: success, failed State JobState // Job's trace CRC32 checksum TraceChecksum string // Job's trace size in bytes TraceByteSize int // Job's exit code ExitCode int // Job's failure_reason FailureReason FailureReason }
type UpdateJobReq ¶
type UpdateJobReq struct { Checksum string `json:"checksum"` ExitCode int `json:"exit_code"` FailureReason FailureReason `json:"failure_reason"` Info Info `json:"info"` Output TraceSummary `json:"output"` State JobState `json:"state"` Token string `json:"token"` }
Click to show internal directories.
Click to hide internal directories.