Job Retries

The retry attribute in an example command step

Immutable job history

Previously, if you retried a job, you lost the history of the job that was retried. With this update, the history remains and a new job is created 🎉

Retry history is now preserved 🙌🏻

You can also see when a job has been retried, and whether it was retried automatically or by a user. As always, the number of retries is available as an environment variable on the job.

See how and when your job was retried

Fine-grained control

To complement this improved visibility into retried jobs, you can specify conditions on retries 📋

Set steps to be retried automatically if they exit with particular exit codes, or prevent retries on important steps like deployments.

At Buildkite we’re using this internally to automatically retry any jobs that fail due to one of our AWS Elastic Stack hosts shutting down.

Example code showing different retry configurations

Check out the command step docs for all the details on adding retries to your pipeline.yml steps 📚