Skip to main content
Version: 5.11.x

delivery

Adds steps to the build to create a delivery manifest and optionally run delivery targets to release built artifacts to a remote system when they have changed.

Task configuration

id

  • string

A unique identifier for this task.

name

  • string
  • Default: The task type

A human-readable name used to identify this task. If none is set, then the task type is used.

artifact_paths

  • string[]
  • Read only

List of paths or glob pattens used to save artifacts resulting from the task run.

info

To prevent the archiving of Workflows system files, a task run never archives anything stored in the /etc/aspect directory.

cci

  • cci CircleCIConfiguration
  • Optional

Properties relating to CircleCI for the task

env

  • Map<string, string>

Environment variables to set on this task. Overrides those set globally

icon

  • string
  • Default: 'peacock'

The emoji icon used in the tasks label

queue

  • string
  • Optional

The queue / runner pool that this task runs on. By default, takes the value of the top level 'queue' property in the Workflows configuration.

timeout_in_minutes

  • number
  • Default: 180

The amount of time in minutes that this step times out after. Timed out steps cause the build to fail.

without

  • boolean
  • Default: false

Setting this excludes this task from being created when using additional workspace overrides.

delivery

branches

  • string[]
  • Read only
  • Default: ['^main$', '^master$']

A list of branches where releases originate. Treated as a regular expression, and wrapped with ^ and $ if required.

limit_query

  • boolean
  • Default: true

If true, automatically limit the deliverable queries to only those targets specified in a build or test task.

manifest_only

  • boolean
  • Default: false

Only generate the delivery manifest.

auto_deliver

  • boolean
  • Default: false

If true, deliver the required artifacts at the end of a build as determined by the delivery rules.

rules

  • map
  • Default: Empty

A set of rules that trigger auto delivery. Each rule consists of the following:

deliverable

  • string
  • Default: attr("tags", "\\bdeliverable\\b", //...)

condition

When and what targets to deliver. A condition can consist of the following:

  • branches: List of branches that trigger this delivery rule using Regex patterns.

  • tags: List of tags that trigger this delivery rule using Regex patterns.

  • only_on_change: boolean

    • If true, targets from this rule are only delivered if they are detected to have changed.
    • If false, targets from this rule are delivered regardless of changes to the inputs.
  • detect_changes_from: Optional list of build and test task IDs used as the sources for the delivery manifest.

    • If you supply no IDs, then all build and test tasks are considered.
    note

    Only affects rules that are set to only_on_change. Non-change detector based rules always trigger a delivery.

redis_url

  • string
  • Optional

Redis endpoint for storing previously-seen artifacts. If this property is set, it's used as an override for the endpoint of the Redis instance managed by Workflows.

redis_use_tls

  • boolean
  • Default: true

If the client should use TLS when connecting to Redis.

stamp_flags

  • string[]
  • Read only

Overrides the default Bazel --stamp stamping flags set when building artifacts for delivery.

salt_envs

  • string[]
  • Read only
  • Optional

A list of items to create a hash salt from when creating delivery hashes.

bazel

Configuration properties for the bazel invocation for this task.

auto_add_bazelrc_file

  • boolean
  • Default: true

If true, automatically add the bazelrc file to the invocation when Workflows detects the file next to the configuration file.

If setting this at the root or workspace level, the file is resolved relative to the current workspace.

auto_bazelrc_file

  • string
  • Default: 'bazelrc'

Name of the default bazelrc file to add to the invocation. This file should be located next to this configuration file, and will be added automatically if it exists, unless auto_add_bazelrc_file is set to false.

bazel_debug_assistance

  • boolean
  • Default: false

If true, Workflows enables a number of flags and archive extra files that can help debug a number of Bazel issues on CI.

flags

  • string[]
  • Read only

List of Bazel flags to be applied to each invocation.

Important note for warming tasks:
Do not use --sandbox_debug in the warming task flags configuration.
This will cause some unexpected permissions errors in the course of the warming run.

startup_flags

  • string[]
  • Read only

List of Bazel startup flags to be applied to each invocation..

rcfiles

  • string[]
  • Read only

A set of bazelrc files set on each task.

hooks

  • Optional

Task hooks allow execution of extra commands or scripts at different points within a task's lifecycle. For example, they can be used for setting up test databases before a test task runs, and then performing cleanup after.

id

  • string
  • Optional

Identifies a hook uniquely with the configuration. Hooks with the same ID override subsequent definitions of the same hook.

command

  • string

Script that should be run when this hook triggers. This can be a single command, or a path to a script.

soft_fail

  • boolean
  • Default: false

When true, errors from executing the hooks command are ignored, otherwise they are propagated as the tasks exit code.

type

  • enum

Type of hook this represents, i.e., when in the lifecycle of a task should this hook execute.

Possible hook types are:

  • AFTER_TASK = "after_task": Hook is run after the task runs.
  • BEFORE_TASK = "before_task": Hook is run before the task runs.