Discover modules > cue.dev/x/buildkite
v0.7.0
#Pipeline: ¶

JSON schema for Buildkite pipeline configuration files

"env"?: #env ¶
"agents"?: #agents ¶
"notify"?: #buildNotify ¶
"image"?: #image ¶
"secrets"?: #secrets ¶
"priority"?: #priority ¶
"checkout"?: #checkout & (null | bool | number | string | [...] | {"ssh_secret"?: error("disallowed"), ...}) ¶

Configure git checkout behavior. Pipeline-level values are inherited by each step unless that step overrides the same key. ssh_secret is step-level only and is not valid here

"ssh_secret"?:
click to see definition
error("disallowed")
& matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

"steps"!: #pipelineSteps ¶
#agents: matchN(1, [#agentsObject, #agentsList]) ¶
#agentsList: [...string] ¶

Query rules to target specific agents in k=v format

[...]: string
#agentsObject: {...} ¶

Query rules to target specific agents

#allowDependencyFailure: true | false | "true" | "false" ¶

Whether to proceed with this step and further steps if a step named in the depends_on attribute fails

#allowedTeams: matchN(>=1, [string, [...string]]) ¶

A list of teams that are permitted to unblock this step, whose values are a list of one or more team slugs or IDs

#automaticRetry: ¶
"exit_status"?: matchN(>=1, ["*", int, [...int]]) ¶

The exit status number that will cause this job to retry

"limit"?: int & >=0 & <=10 ¶

The number of times this job can be retried

"signal"?: string ¶

The exit signal, if any, that may be retried

"signal_reason"?:
click to see definition
"*" |
	"none" |
	"agent_incompatible" |
	"agent_refused" |
	"agent_stop" |
	"cancel" |
	"process_run_error" |
	"signature_rejected" |
	"stack_error"
¶

The exit signal reason, if any, that may be retried

#automaticRetryList: [...#automaticRetry] ¶
[...]: #automaticRetry
"exit_status"?: matchN(>=1, ["*", int, [...int]])

The exit status number that will cause this job to retry

"limit"?: int & >=0 & <=10

The number of times this job can be retried

"signal"?: string

The exit signal, if any, that may be retried

"signal_reason"?:
click to see definition
"*" |
	"none" |
	"agent_incompatible" |
	"agent_refused" |
	"agent_stop" |
	"cancel" |
	"process_run_error" |
	"signature_rejected" |
	"stack_error"

The exit signal reason, if any, that may be retried

#blockStep: ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"block"?: _#defs."/definitions/blockStep/properties/block" ¶

The label of the block step

"blocked_state"?: "passed" | "failed" | "running" ¶

The state that the build is set to when the build is blocked by this block step

"branches"?: #branches ¶
"depends_on"?: #dependsOn ¶
"fields"?: #fields ¶
"if"?: #if ¶
"key"?: _#defs."/definitions/blockStep/properties/key" ¶
"identifier"?: _#defs."/definitions/blockStep/properties/key" ¶
"id"?: _#defs."/definitions/blockStep/properties/key" ¶
"label"?: _#defs."/definitions/blockStep/properties/block" ¶
"name"?: _#defs."/definitions/blockStep/properties/block" ¶
"prompt"?: #prompt ¶
"allowed_teams"?: #allowedTeams ¶
"type"?: "block" ¶
#branches: matchN(>=1, [string, [...string]]) ¶

Which branches will include this step in their builds

#buildNotify:
click to see definition
[
	...matchN(1, [
		#notifySimple,
		#notifyEmail,
		#notifyBasecamp,
		#notifySlack,
		#notifyWebhook,
		#notifyPagerduty,
		#notifyGithubCommitStatus,
		#notifyGithubCheck,
	])
]
¶

Array of notification options for this step

[...]:
click to see definition
matchN(1, [
	#notifySimple,
	#notifyEmail,
	#notifyBasecamp,
	#notifySlack,
	#notifyWebhook,
	#notifyPagerduty,
	#notifyGithubCommitStatus,
	#notifyGithubCheck,
])
#cache: matchN(>=1, [string, [...string], {"paths"!: [...string], "size"?: =~"^\\d+g$", "name"?: string, ...}]) ¶

The paths for the caches to be used in the step

#cancelOnBuildFailing: true | false | "true" | "false" ¶

Whether to cancel the job as soon as the build is marked as failing

#checkout: ¶

Configure git checkout behavior. Pipeline-level values are inherited by each step unless that step overrides the same key

"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"ssh_secret"?:
click to see definition
matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

#checkoutSparsePath:
click to see definition
matchN(0, [
	null |
		bool |
		number |
		=~"^[-\\t\\n\\v\\f\\r \u0085\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]|[\\t\\n\\v\\f\\r \u0085\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]$" |
		[...] |
		{...}
]) &
	=~"^[^,\\t\\n\\v\\f\\r]+$"
¶
#commandStep: ¶
"agents"?: #agents ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"artifact_paths"?: matchN(>=1, [string, [...string]]) ¶

The glob path/s of artifacts to upload once this step has finished running

"branches"?: #branches ¶
"cache"?: #cache ¶
"cancel_on_build_failing"?: #cancelOnBuildFailing ¶
"checkout"?: #checkout ¶
"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"ssh_secret"?:
click to see definition
matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

"command"?: #commandStepCommand ¶
"commands"?: #commandStepCommand ¶
"concurrency"?: int ¶

The maximum number of jobs created from this step that are allowed to run at the same time. If you use this attribute, you must also define concurrency_group.

"concurrency_group"?: string ¶

A unique name for the concurrency group that you are creating with the concurrency attribute

"concurrency_method"?: "ordered" | "eager" ¶

Control command order, allowed values are 'ordered' (default) and 'eager'. If you use this attribute, you must also define concurrency_group and concurrency.

"depends_on"?: #dependsOn ¶
"env"?: #env ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/commandStep/properties/key" ¶
"identifier"?: _#defs."/definitions/commandStep/properties/key" ¶
"id"?: _#defs."/definitions/commandStep/properties/key" ¶
"image"?: #image ¶
"label"?: _#defs."/definitions/commandStep/properties/label" ¶
"signature"?: ¶

The signature of the command step, generally injected by agents at pipeline upload

"algorithm"?: string ¶

The algorithm used to generate the signature

"value"?: string ¶

The signature value, a JWS compact signature with a detached body

"signed_fields"?: [...string] ¶

The fields that were signed to form the signature value

[...]: string
"matrix"?: #matrix ¶
"name"?: _#defs."/definitions/commandStep/properties/label" ¶
"notify"?: #commandStepNotify ¶
"parallelism"?: int ¶

The number of parallel jobs that will be created based on this step

"plugins"?: #plugins ¶
"soft_fail"?: #softFail ¶
"retry"?: ¶

The conditions for retrying this step.

"automatic"?: #commandStepAutomaticRetry ¶
"manual"?: #commandStepManualRetry ¶
"skip"?: #skip ¶
"timeout_in_minutes"?: int & >=1 ¶

The number of minutes to time out a job

"type"?: "script" | "command" | "commands" ¶
"priority"?: #priority ¶
"secrets"?: #secrets ¶
#commandStepAutomaticRetry: matchN(>=1, [true | false | "true" | "false", #automaticRetry, #automaticRetryList]) ¶

Whether to allow a job to retry automatically. If set to true, the retry conditions are set to the default value.

#commandStepCommand: matchN(>=1, [[...string], string]) ¶

The commands to run on the agent

#commandStepManualRetry: matchN(>=1, [true | false | "true" | "false", #commandStepManualRetryObject]) ¶

Whether to allow a job to be retried manually

#commandStepManualRetryObject: ¶
"allowed"?: true | false | "true" | "false" ¶

Whether or not this job can be retried manually

"permit_on_passed"?: true | false | "true" | "false" ¶

Whether or not this job can be retried after it has passed

"reason"?: string ¶

A string that will be displayed in a tooltip on the Retry button in Buildkite. This will only be displayed if the allowed attribute is set to false.

#commandStepNotify: [...matchN(1, [#notifySimple, #notifyBasecamp, #notifySlack, #notifyGithubCommitStatus, #notifyGithubCheck])] ¶

Array of notification options for this step

[...]: matchN(1, [#notifySimple, #notifyBasecamp, #notifySlack, #notifyGithubCommitStatus, #notifyGithubCheck])
#dependsOn: matchN(>=1, [null, string, #dependsOnList]) ¶

The step keys for a step to depend on

#dependsOnList: [...matchN(>=1, [string, close({"step"?: string, "allow_failure"?: true | false | "true" | "false"})])] ¶
[...]: matchN(>=1, [string, close({"step"?: string, "allow_failure"?: true | false | "true" | "false"})])
#env: {...} ¶

Environment variables for this step

#fields: [...matchN(1, [#textField, #selectField])] ¶

A list of input fields required to be filled out before unblocking the step

[...]: matchN(1, [#textField, #selectField])
#groupStep: ¶
"depends_on"?: #dependsOn ¶
"group"!: _#defs."/definitions/groupStep/properties/group" ¶

The name to give to this group of steps

"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/groupStep/properties/key" ¶
"identifier"?: _#defs."/definitions/groupStep/properties/key" ¶
"id"?: _#defs."/definitions/groupStep/properties/key" ¶
"label"?: _#defs."/definitions/groupStep/properties/group" ¶
"name"?: _#defs."/definitions/groupStep/properties/group" ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"notify"?: #buildNotify ¶
"skip"?: #skip ¶
"steps"!: #groupSteps ¶
#groupSteps:
click to see definition
[_, ...] & [
	...matchN(>=1, [
		#blockStep,
		#nestedBlockStep,
		#stringBlockStep,
		#inputStep,
		#nestedInputStep,
		#stringInputStep,
		#commandStep,
		#nestedCommandStep,
		#waitStep,
		#nestedWaitStep,
		#stringWaitStep,
		#triggerStep,
		#nestedTriggerStep,
	])
]
¶

A list of steps

[0]: _ ¶
[...]:
click to see definition
matchN(>=1, [
	#blockStep,
	#nestedBlockStep,
	#stringBlockStep,
	#inputStep,
	#nestedInputStep,
	#stringInputStep,
	#commandStep,
	#nestedCommandStep,
	#waitStep,
	#nestedWaitStep,
	#stringWaitStep,
	#triggerStep,
	#nestedTriggerStep,
])
#if: string ¶

A boolean expression that omits the step when false

#ifChanged:
click to see definition
matchN(1, [
	string,
	[...string], close({
		// Pattern or list of patterns to include
		"include"!: matchN(1, [string, [...string]])

		// Pattern or list of patterns to exclude
		"exclude"?: matchN(1, [string, [...string]])
	}),
])
¶

Agent-applied attribute: A glob pattern that omits the step from a build if it does not match any files changed in the build. Can be a single pattern, list of patterns, or an object with include/exclude attributes.

#image: string ¶

(Kubernetes stack only) The container image to use for this pipeline or step

#inputStep: ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"input"?: _#defs."/definitions/inputStep/properties/input" ¶

The label of the input step

"branches"?: #branches ¶
"depends_on"?: #dependsOn ¶
"fields"?: #fields ¶
"blocked_state"?: "passed" | "failed" | "running" ¶

The state that the build is set to when the build is blocked by this input step

"if"?: #if ¶
"key"?: _#defs."/definitions/inputStep/properties/key" ¶
"identifier"?: _#defs."/definitions/inputStep/properties/key" ¶
"id"?: _#defs."/definitions/inputStep/properties/key" ¶
"label"?: _#defs."/definitions/inputStep/properties/input" ¶
"name"?: _#defs."/definitions/inputStep/properties/input" ¶
"prompt"?: #prompt ¶
"allowed_teams"?: #allowedTeams ¶
"type"?: "input" ¶
#key:
click to see definition
matchN(0, [
	null |
		bool |
		number |
		=~"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" |
		[...] |
		{...}
]) &
	strings.MaxRunes(100) &
	=~"^[a-zA-Z0-9_\\-:${}.,]+$"
¶

A unique identifier for a step, must not resemble a UUID

#label: string ¶

The label that will be displayed in the pipeline visualisation in Buildkite. Supports emoji.

#matrix: matchN(1, [#matrixElementList, #matrixObject]) ¶
#matrixAdjustments: ¶

An adjustment to a Build Matrix

"with"!: matchN(1, [#matrixElementList, #matrixAdjustmentsWithObject]) ¶
"skip"?: #skip ¶
"soft_fail"?: #softFail ¶
#matrixAdjustmentsWithObject: {[string]: _} & {[string]: string} ¶

Specification of a new or existing Build Matrix combination

[string]: string ¶
#matrixElement: matchN(1, [string, int, bool]) ¶
#matrixElementList: [...#matrixElement] ¶

List of elements for single-dimension Build Matrix

[...]: #matrixElement
#matrixObject: ¶

Configuration for multi-dimension Build Matrix

"setup"!: #matrixSetup ¶
"adjustments"?: [...#matrixAdjustments] ¶

List of Build Matrix adjustments

[...]: #matrixAdjustments
#matrixSetup: matchN(1, [#matrixElementList, {[=~"^[a-zA-Z0-9_]+$"]: _} & {[string]: [...#matrixElement]}]) ¶
#nestedBlockStep: ¶
"block"?: #blockStep ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"block"?: _#defs."/definitions/blockStep/properties/block" ¶

The label of the block step

"blocked_state"?: "passed" | "failed" | "running" ¶

The state that the build is set to when the build is blocked by this block step

"branches"?: #branches ¶
"depends_on"?: #dependsOn ¶
"fields"?: #fields ¶
"if"?: #if ¶
"key"?: _#defs."/definitions/blockStep/properties/key" ¶
"identifier"?: _#defs."/definitions/blockStep/properties/key" ¶
"id"?: _#defs."/definitions/blockStep/properties/key" ¶
"label"?: _#defs."/definitions/blockStep/properties/block" ¶
"name"?: _#defs."/definitions/blockStep/properties/block" ¶
"prompt"?: #prompt ¶
"allowed_teams"?: #allowedTeams ¶
"type"?: "block" ¶
#nestedCommandStep: ¶
"command"?: #commandStep ¶
"agents"?: #agents ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"artifact_paths"?: matchN(>=1, [string, [...string]]) ¶

The glob path/s of artifacts to upload once this step has finished running

"branches"?: #branches ¶
"cache"?: #cache ¶
"cancel_on_build_failing"?: #cancelOnBuildFailing ¶
"checkout"?: #checkout ¶
"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"ssh_secret"?:
click to see definition
matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

"command"?: #commandStepCommand ¶
"commands"?: #commandStepCommand ¶
"concurrency"?: int ¶

The maximum number of jobs created from this step that are allowed to run at the same time. If you use this attribute, you must also define concurrency_group.

"concurrency_group"?: string ¶

A unique name for the concurrency group that you are creating with the concurrency attribute

"concurrency_method"?: "ordered" | "eager" ¶

Control command order, allowed values are 'ordered' (default) and 'eager'. If you use this attribute, you must also define concurrency_group and concurrency.

"depends_on"?: #dependsOn ¶
"env"?: #env ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/commandStep/properties/key" ¶
"identifier"?: _#defs."/definitions/commandStep/properties/key" ¶
"id"?: _#defs."/definitions/commandStep/properties/key" ¶
"image"?: #image ¶
"label"?: _#defs."/definitions/commandStep/properties/label" ¶
"signature"?: ¶

The signature of the command step, generally injected by agents at pipeline upload

"algorithm"?: string ¶

The algorithm used to generate the signature

"value"?: string ¶

The signature value, a JWS compact signature with a detached body

"signed_fields"?: [...string] ¶

The fields that were signed to form the signature value

[...]: string
"matrix"?: #matrix ¶
"name"?: _#defs."/definitions/commandStep/properties/label" ¶
"notify"?: #commandStepNotify ¶
"parallelism"?: int ¶

The number of parallel jobs that will be created based on this step

"plugins"?: #plugins ¶
"soft_fail"?: #softFail ¶
"retry"?: ¶

The conditions for retrying this step.

"automatic"?: #commandStepAutomaticRetry ¶
"manual"?: #commandStepManualRetry ¶
"skip"?: #skip ¶
"timeout_in_minutes"?: int & >=1 ¶

The number of minutes to time out a job

"type"?: "script" | "command" | "commands" ¶
"priority"?: #priority ¶
"secrets"?: #secrets ¶
"commands"?: #commandStep ¶
"agents"?: #agents ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"artifact_paths"?: matchN(>=1, [string, [...string]]) ¶

The glob path/s of artifacts to upload once this step has finished running

"branches"?: #branches ¶
"cache"?: #cache ¶
"cancel_on_build_failing"?: #cancelOnBuildFailing ¶
"checkout"?: #checkout ¶
"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"ssh_secret"?:
click to see definition
matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

"command"?: #commandStepCommand ¶
"commands"?: #commandStepCommand ¶
"concurrency"?: int ¶

The maximum number of jobs created from this step that are allowed to run at the same time. If you use this attribute, you must also define concurrency_group.

"concurrency_group"?: string ¶

A unique name for the concurrency group that you are creating with the concurrency attribute

"concurrency_method"?: "ordered" | "eager" ¶

Control command order, allowed values are 'ordered' (default) and 'eager'. If you use this attribute, you must also define concurrency_group and concurrency.

"depends_on"?: #dependsOn ¶
"env"?: #env ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/commandStep/properties/key" ¶
"identifier"?: _#defs."/definitions/commandStep/properties/key" ¶
"id"?: _#defs."/definitions/commandStep/properties/key" ¶
"image"?: #image ¶
"label"?: _#defs."/definitions/commandStep/properties/label" ¶
"signature"?: ¶

The signature of the command step, generally injected by agents at pipeline upload

"algorithm"?: string ¶

The algorithm used to generate the signature

"value"?: string ¶

The signature value, a JWS compact signature with a detached body

"signed_fields"?: [...string] ¶

The fields that were signed to form the signature value

[...]: string
"matrix"?: #matrix ¶
"name"?: _#defs."/definitions/commandStep/properties/label" ¶
"notify"?: #commandStepNotify ¶
"parallelism"?: int ¶

The number of parallel jobs that will be created based on this step

"plugins"?: #plugins ¶
"soft_fail"?: #softFail ¶
"retry"?: ¶

The conditions for retrying this step.

"automatic"?: #commandStepAutomaticRetry ¶
"manual"?: #commandStepManualRetry ¶
"skip"?: #skip ¶
"timeout_in_minutes"?: int & >=1 ¶

The number of minutes to time out a job

"type"?: "script" | "command" | "commands" ¶
"priority"?: #priority ¶
"secrets"?: #secrets ¶
"script"?: #commandStep ¶
"agents"?: #agents ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"artifact_paths"?: matchN(>=1, [string, [...string]]) ¶

The glob path/s of artifacts to upload once this step has finished running

"branches"?: #branches ¶
"cache"?: #cache ¶
"cancel_on_build_failing"?: #cancelOnBuildFailing ¶
"checkout"?: #checkout ¶
"depth"?: int & >=1 | =~"^[1-9][0-9]*$" ¶

Number of commits to fetch when performing a shallow clone; omit for full history

"skip"?: true | false | "true" | "false" | null ¶

Skip the git checkout phase. An explicit null is treated as unset

"submodules"?: true | false | "true" | "false" | null ¶

Initialize, sync, update, and clean submodules recursively as part of checkout. An explicit null is treated as unset

"commit_verification"?: "strict" | "warn" ¶

Verify the checked-out commit is on the expected branch; strict fails the job on a definitive mismatch, warn only logs

"flags"?: ¶

Custom flags passed to git commands during checkout. Flag strings are passed to git verbatim and are not sanitized; do not interpolate untrusted input. See the agent documentation for precedence and defaults: https://buildkite.com/docs/agent/v3/configuration

"clone"?: string ¶

Flags for the git clone command

"fetch"?: string ¶

Flags for the git fetch command

"checkout"?: string ¶

Flags for the git checkout command

"clean"?: string ¶

Flags for the git clean command

"ssh_secret"?:
click to see definition
matchN(0, [
	null | bool | number | =~"^([Bb][Uu][Ii][Ll][Dd][Kk][Ii][Tt][Ee]|[Bb][Kk])" | [...] | {...}
]) &
	strings.MinRunes(1) &
	strings.MaxRunes(255) &
	=~"^[A-Za-z][A-Za-z0-9_]*$"
¶

Name of an SSH private key secret from Buildkite Secrets to use for git clone/fetch operations. The name must start with a letter, contain only letters, numbers, and underscores, and must not start with `buildkite` or `bk` (case-insensitive).

"lfs"?: true | false | "true" | "false" | null ¶

Whether to install Git LFS and fetch LFS objects after checkout. An explicit null is treated as unset

"sparse"?: ¶

Check out only the specified paths in git cone mode; requires git 2.27+ on the agent

"paths"!: matchN(>=1, [#checkoutSparsePath, list.UniqueItems() & [_, ...] & [...#checkoutSparsePath]]) ¶

Repository-relative directory paths within the worktree, as one path or a list of paths; cone mode includes each directory recursively, not file globs

"command"?: #commandStepCommand ¶
"commands"?: #commandStepCommand ¶
"concurrency"?: int ¶

The maximum number of jobs created from this step that are allowed to run at the same time. If you use this attribute, you must also define concurrency_group.

"concurrency_group"?: string ¶

A unique name for the concurrency group that you are creating with the concurrency attribute

"concurrency_method"?: "ordered" | "eager" ¶

Control command order, allowed values are 'ordered' (default) and 'eager'. If you use this attribute, you must also define concurrency_group and concurrency.

"depends_on"?: #dependsOn ¶
"env"?: #env ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/commandStep/properties/key" ¶
"identifier"?: _#defs."/definitions/commandStep/properties/key" ¶
"id"?: _#defs."/definitions/commandStep/properties/key" ¶
"image"?: #image ¶
"label"?: _#defs."/definitions/commandStep/properties/label" ¶
"signature"?: ¶

The signature of the command step, generally injected by agents at pipeline upload

"algorithm"?: string ¶

The algorithm used to generate the signature

"value"?: string ¶

The signature value, a JWS compact signature with a detached body

"signed_fields"?: [...string] ¶

The fields that were signed to form the signature value

[...]: string
"matrix"?: #matrix ¶
"name"?: _#defs."/definitions/commandStep/properties/label" ¶
"notify"?: #commandStepNotify ¶
"parallelism"?: int ¶

The number of parallel jobs that will be created based on this step

"plugins"?: #plugins ¶
"soft_fail"?: #softFail ¶
"retry"?: ¶

The conditions for retrying this step.

"automatic"?: #commandStepAutomaticRetry ¶
"manual"?: #commandStepManualRetry ¶
"skip"?: #skip ¶
"timeout_in_minutes"?: int & >=1 ¶

The number of minutes to time out a job

"type"?: "script" | "command" | "commands" ¶
"priority"?: #priority ¶
"secrets"?: #secrets ¶
#nestedInputStep: ¶
"input"?: #inputStep ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"input"?: _#defs."/definitions/inputStep/properties/input" ¶

The label of the input step

"branches"?: #branches ¶
"depends_on"?: #dependsOn ¶
"fields"?: #fields ¶
"blocked_state"?: "passed" | "failed" | "running" ¶

The state that the build is set to when the build is blocked by this input step

"if"?: #if ¶
"key"?: _#defs."/definitions/inputStep/properties/key" ¶
"identifier"?: _#defs."/definitions/inputStep/properties/key" ¶
"id"?: _#defs."/definitions/inputStep/properties/key" ¶
"label"?: _#defs."/definitions/inputStep/properties/input" ¶
"name"?: _#defs."/definitions/inputStep/properties/input" ¶
"prompt"?: #prompt ¶
"allowed_teams"?: #allowedTeams ¶
"type"?: "input" ¶
#nestedTriggerStep: ¶
"trigger"?: #triggerStep ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"async"?: true | false | "true" | "false" ¶

Whether to continue the build without waiting for the triggered step to complete

"branches"?: #branches ¶
"build"?: ¶

Properties of the build that will be created when the step is triggered

"branch"?: string ¶

The branch for the build

"commit"?: string ¶

The commit hash for the build

"env"?: #env ¶
"message"?: string ¶

The message for the build (supports emoji)

"meta_data"?: {...} ¶

Meta-data for the build

"depends_on"?: #dependsOn ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/triggerStep/properties/key" ¶
"identifier"?: _#defs."/definitions/triggerStep/properties/key" ¶
"id"?: _#defs."/definitions/triggerStep/properties/key" ¶
"label"?: _#defs."/definitions/triggerStep/properties/label" ¶
"name"?: _#defs."/definitions/triggerStep/properties/label" ¶
"type"?: "trigger" ¶
"trigger"!: string ¶

The slug of the pipeline to create a build

"skip"?: #skip ¶
"soft_fail"?: #softFail ¶
#nestedWaitStep: ¶
"wait"?: #waitStep ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"branches"?: #branches ¶
"continue_on_failure"?: true | false | "true" | "false" ¶

Continue to the next steps, even if the previous group of steps fail

"depends_on"?: #dependsOn ¶
"if"?: #if ¶
"key"?: _#defs."/definitions/waitStep/properties/key" ¶
"label"?: _#defs."/definitions/waitStep/properties/wait" ¶
"name"?: _#defs."/definitions/waitStep/properties/wait" ¶
"identifier"?: _#defs."/definitions/waitStep/properties/key" ¶
"id"?: _#defs."/definitions/waitStep/properties/key" ¶
"type"?: "wait" | "waiter" ¶
"wait"?: _#defs."/definitions/waitStep/properties/wait" ¶

Waits for previous steps to pass before continuing

"waiter"?: #waitStep ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"branches"?: #branches ¶
"continue_on_failure"?: true | false | "true" | "false" ¶

Continue to the next steps, even if the previous group of steps fail

"depends_on"?: #dependsOn ¶
"if"?: #if ¶
"key"?: _#defs."/definitions/waitStep/properties/key" ¶
"label"?: _#defs."/definitions/waitStep/properties/wait" ¶
"name"?: _#defs."/definitions/waitStep/properties/wait" ¶
"identifier"?: _#defs."/definitions/waitStep/properties/key" ¶
"id"?: _#defs."/definitions/waitStep/properties/key" ¶
"type"?: "wait" | "waiter" ¶
"wait"?: _#defs."/definitions/waitStep/properties/wait" ¶

Waits for previous steps to pass before continuing

#notifyBasecamp: ¶
"basecamp_campfire"?: string ¶
"if"?: #if ¶
#notifyEmail: ¶
"email"?: string ¶
"if"?: #if ¶
#notifyGithubCheck: ¶
"github_check"?: ¶
"name"?: string ¶

The name of the GitHub check

"output"?: ¶
"title"?: string ¶

The title of the GitHub check's output

"summary"?: string ¶

The summary of the GitHub check's output

"text"?: string ¶

The details of the GitHub check's output. Supports Markdown

"annotations"?:
click to see definition
[...close({
	// The path of the file to add an annotation to, relative to the repository root
	"path"!: string

	// The start line of the annotation
	"start_line"!: int

	// The end line of the annotation
	"end_line"!: int

	// The start column of the annotation. Only valid when start_line and end_line are equal
	"start_column"?: int

	// The end column of the annotation. Only valid when start_line and end_line are equal
	"end_column"?: int

	// The level of the annotation
	"annotation_level"!: "notice" | "warning" | "failure"

	// The message for the annotation
	"message"!: string

	// The title for the annotation
	"title"?: string

	// Additional details for the annotation, displayed alongside the message
	"raw_details"?: string
})]
¶
[...]:
"path"!: string

The path of the file to add an annotation to, relative to the repository root

"start_line"!: int

The start line of the annotation

"end_line"!: int

The end line of the annotation

"start_column"?: int

The start column of the annotation. Only valid when start_line and end_line are equal

"end_column"?: int

The end column of the annotation. Only valid when start_line and end_line are equal

"annotation_level"!: "notice" | "warning" | "failure"

The level of the annotation

"message"!: string

The message for the annotation

"title"?: string

The title for the annotation

"raw_details"?: string

Additional details for the annotation, displayed alongside the message

"if"?: #if ¶
#notifyGithubCommitStatus: ¶
"github_commit_status"?: ¶
"context"?: string ¶

GitHub commit status name

"if"?: #if ¶
#notifyPagerduty: ¶
"pagerduty_change_event"?: string ¶
"if"?: #if ¶
#notifySimple: "github_check" | "github_commit_status" ¶
#notifySlack: ¶
"slack"?: matchN(1, [=~"^[^ \\t\\n\\v\\f\\r]+$", #notifySlackObject]) ¶
"if"?: #if ¶
#notifySlackObject: ¶
"channels"!: [_, ...] & [...=~"^[^ \\t\\n\\v\\f\\r]+$"] ¶
[0]: _ ¶
[...]: =~"^[^ \\t\\n\\v\\f\\r]+$"
"message"?: string ¶
#notifyWebhook: ¶
"webhook"?: string ¶
"if"?: #if ¶
#pipelineSteps:
click to see definition
[
	...matchN(>=1, [
		#blockStep,
		#nestedBlockStep,
		#stringBlockStep,
		#inputStep,
		#nestedInputStep,
		#stringInputStep,
		#commandStep,
		#nestedCommandStep,
		#waitStep,
		#nestedWaitStep,
		#stringWaitStep,
		#triggerStep,
		#nestedTriggerStep,
		#groupStep,
	])
]
¶

A list of steps

[...]:
click to see definition
matchN(>=1, [
	#blockStep,
	#nestedBlockStep,
	#stringBlockStep,
	#inputStep,
	#nestedInputStep,
	#stringInputStep,
	#commandStep,
	#nestedCommandStep,
	#waitStep,
	#nestedWaitStep,
	#stringWaitStep,
	#triggerStep,
	#nestedTriggerStep,
	#groupStep,
])
#plugins: matchN(>=1, [#pluginsList, #pluginsObject]) ¶
#pluginsList: [...matchN(1, [string, struct.MaxFields(1)])] ¶

Array of plugins for this step

[...]: matchN(1, [string, struct.MaxFields(1)])
#pluginsObject: {...} ¶

A map of plugins for this step. Deprecated: please use the array syntax.

#priority: int ¶

Priority of all jobs in the pipeline, higher priorities are assigned to agents. When set pipeline-wide, it applies to all steps that do not have their own priority key set.

#prompt: string ¶

The instructional message displayed in the dialog box when the unblock step is activated

#secrets: matchN(>=1, [[...string], {[string]: string}]) ¶

A list of secret names or a mapping of environment variable names to secret names to be made available to the build or step

#selectField: ¶
"select"?: string ¶

The text input name

"key"!: =~"^[a-zA-Z0-9-_]+$" ¶

The meta-data key that stores the field's input

"default"?: matchN(1, [string, [...string]]) ¶

The value of the option(s) that will be pre-selected in the dropdown

"hint"?: string ¶

The explanatory text that is shown after the label

"multiple"?: true | false | "true" | "false" ¶

Whether more than one option may be selected

"options"!: [_, ...] & [...#selectFieldOption] ¶
[0]: _ ¶
[...]: #selectFieldOption
"label"!: string

The text displayed on the select list item

"value"!: string

The value to be stored as meta-data

"hint"?: string

The text displayed directly under the select field’s label

"required"?: true | false | "true" | "false"

Whether the field is required for form submission

"required"?: true | false | "true" | "false" ¶

Whether the field is required for form submission

#selectFieldOption: ¶
"label"!: string ¶

The text displayed on the select list item

"value"!: string ¶

The value to be stored as meta-data

"hint"?: string ¶

The text displayed directly under the select field’s label

"required"?: true | false | "true" | "false" ¶

Whether the field is required for form submission

#skip: matchN(>=1, [bool, strings.MaxRunes(70)]) ¶

Whether this step should be skipped. Passing a string provides a reason for skipping this command

#softFail: matchN(>=1, [true | false | "true" | "false", #softFailList]) ¶

The conditions for marking the step as a soft-fail.

#softFailList: [...#softFailObject] ¶
[...]: #softFailObject
#softFailObject: ¶
"exit_status"?: matchN(>=1, ["*", int]) ¶

The exit status number that will cause this job to soft-fail

#stringBlockStep: "block" ¶

Pauses the execution of a build and waits on a user to unblock it

#stringInputStep: "input" ¶

Pauses the execution of a build and waits on a user to unblock it

#stringWaitStep: "wait" | "waiter" ¶

Waits for previous steps to pass before continuing

#textField: ¶
"text"?: string ¶

The text input name

"key"!: =~"^[a-zA-Z0-9-_]+$" ¶

The meta-data key that stores the field's input

"hint"?: string ¶

The explanatory text that is shown after the label

"format"?: regexp.Valid ¶

The format must be a regular expression implicitly anchored to the beginning and end of the input and is functionally equivalent to the HTML5 pattern attribute.

"required"?: true | false | "true" | "false" ¶

Whether the field is required for form submission

"default"?: string ¶

The value that is pre-filled in the text field

#triggerStep: ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"async"?: true | false | "true" | "false" ¶

Whether to continue the build without waiting for the triggered step to complete

"branches"?: #branches ¶
"build"?: ¶

Properties of the build that will be created when the step is triggered

"branch"?: string ¶

The branch for the build

"commit"?: string ¶

The commit hash for the build

"env"?: #env ¶
"message"?: string ¶

The message for the build (supports emoji)

"meta_data"?: {...} ¶

Meta-data for the build

"depends_on"?: #dependsOn ¶
"if"?: #if ¶
"if_changed"?: #ifChanged ¶
"key"?: _#defs."/definitions/triggerStep/properties/key" ¶
"identifier"?: _#defs."/definitions/triggerStep/properties/key" ¶
"id"?: _#defs."/definitions/triggerStep/properties/key" ¶
"label"?: _#defs."/definitions/triggerStep/properties/label" ¶
"name"?: _#defs."/definitions/triggerStep/properties/label" ¶
"type"?: "trigger" ¶
"trigger"!: string ¶

The slug of the pipeline to create a build

"skip"?: #skip ¶
"soft_fail"?: #softFail ¶
#waitStep: ¶
"allow_dependency_failure"?: #allowDependencyFailure ¶
"branches"?: #branches ¶
"continue_on_failure"?: true | false | "true" | "false" ¶

Continue to the next steps, even if the previous group of steps fail

"depends_on"?: #dependsOn ¶
"if"?: #if ¶
"key"?: _#defs."/definitions/waitStep/properties/key" ¶
"label"?: _#defs."/definitions/waitStep/properties/wait" ¶
"name"?: _#defs."/definitions/waitStep/properties/wait" ¶
"identifier"?: _#defs."/definitions/waitStep/properties/key" ¶
"id"?: _#defs."/definitions/waitStep/properties/key" ¶
"type"?: "wait" | "waiter" ¶
"wait"?: _#defs."/definitions/waitStep/properties/wait" ¶

Waits for previous steps to pass before continuing

Source files

  • schema.cue