Blocked Builds

Build pipelines that finish with a click to unblock step now have a new state: Blocked! 🚧

You'll see some nice new icons across the Buildkite website and the build will now show as "Blocked" in notification services.

Blocked build view

Pipelines view including blocked build

Slack emoji notifications

For now, webhooks and the API are unchanged so we don't affect your existing integrations. Keep an eye out for these changes in a future update to the API!

Samuel

Elastic CI Stack for AWS

Elastic CI Banner.png

To make it easier for you to setup a build stack on AWS we've released the Elastic CI Stack for AWS ⚡ a pre-built CloudFormation stack that gives you autoscaling based on build metrics, centralized CloudWatch agent logging, and S3 bucket support for configuring pipeline secrets.

You can read all about it on our new blog Building Buildkite, the GitHub Readme or our step-by-step guide.

Keith

Export build pipelines as YAML

Transitioning your build pipeline definitions from the web into your source control used to mean rewriting them by hand, which in same cases could have taken a while and made you a sad panda... :sadpanda:

We wanted to make this transition easier, so we've given you the ability to export your pipelines as pre-formatted - ready to rock and roll - pipeline.yml files 🌟

So now you can turn this...

Example Buildkite Pipeline

...into this...

1
2
3
4
5
6
7
8
steps:
  - command: ".buildkite/eslint.sh"
  - command: ".buildkite/webpack.sh"

  - wait

  - command: ".buildkite/deploy.sh"
    branches: "master"

You can find the new export feature over on the Pipeline Settings page...

Export Pipeline as YAML

Check out our Uploading Build Pipelines guide and pipeline.yml documentation if you'd like to learn more about you can do with pipeline definition files 📖

Keith

Buildkite now available as a StatusPage.io Third-Party Component

If you use StatusPage.io you'll be pleased to know you can now find Buildkite in the Third-Party Component list, so when Buildkite experiences an outage (which is hopefully never) then your StatusPage will automatically update. Such automation! ✨

Buildkite-StatusPage-Enable.png

PolyglotCo-Buildkite-StatusPage.png

Keith

Skipped jobs are now hidden by default

To make it easier to see which jobs were run in a build and which ones were skipped, we’ve updated build pipelines to hide skipped jobs by default ✨

No more seeing a disabled 🚀 step in a pull requests’s build pipeline 👏

If you want to see what jobs were skipped you can use the “Show skipped jobs” button on the right hand side of the pipeline 👀

show-skipped-jobs-button.png

Once you’ve shown the skipped jobs you can hover over them to see why they were skipped:

skipped-reason.png

We’ve also added the ability to add branch filter patterns to block steps so you can hide these too (and a new skip property to manually skip a step):

1
2
3
4
5
6
7
8
9
10
11
steps:
  - command: ".buildkite/tests.sh"

  - command: ".buildkite/lint.sh"
    skip: "Linting is currently broken, skipping for now"

  - block: "Deploy to production"
    branches: "master"

  - command: ".buildkite/deploy.sh"
    branches: "master"

For more examples check out the updated Build Pipelines agent documentation and the Uploading Build Pipelines guide.

Keith

Delete uploaded job logs

Have you ever accidentally output something sensitive in a build log before? 😣 If you have, that's ok - we've got your back…

You can now delete logs via our UI. To do so, simply hit the Delete button on a job log and it'll be instantly deleted.

Delete job logs on Buildkite

Deleted jobs logs are permanently removed from our servers, and can't be recovered. ☠️

Keith

Shell-friendly job environment variables

If you’ve ever needed to re-run a job locally using the same environment variables that were used in a build, we’ve some good news: the Environment tab on each job now shows the values in a shell-friendly format for easy copy and pasting. 📄🐢

1
2
BUILDKITE_BUILD_NUMBER="956"
BUILDKITE_COMMAND="echo \"Oh hai\""

We've also added a “Show export Prefix” button which prefixes each line with bash’s export builtin command, for easily re-running scripts or processes with those values:

1
2
3
$ export BUILDKITE_BUILD_NUMBER="956"
$ export BUILDKITE_COMMAND="echo \"Oh hai\""
$ ./my-script.sh

Happy script debugging! 🕷️

Tim

All New Emojis! 👏🏿🤗

We've just shipped upgrades to one of the most important systems within Buildkite's infrastructure 😏

All of the emojis from the latest unicode specification can be used in Buildkite, such as 🦄, 🐿️, and skin tone modifiers:

👍🏿 \:+1\:\:skin-tone-6\:
👍🏾 \:+1\:\:skin-tone-5\:
👍🏽 \:+1\:\:skin-tone-4\:
👍🏼 \:+1\:\:skin-tone-3\:
👍🏻 \:+1\:\:skin-tone-2\:
👍 \:+1\:

See all the emojis we support (including custom ones like :ruby: :linux: :docker:) over on our GitHub Emojis repository :github:

Our JavaScript Emoji Technology™ is now open source on GitHub including a Webpack loader and a ES6 string parser. Feel free to have a look to see how it all works 🕵

And don't forget… with great power, comes great 🌯

Keith

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Pipeline templates
  3. Public pipelines
  4. Test Engine
  5. Package Registries
  6. Mobile Delivery Cloud
  7. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Webinars
  5. Plugins
  6. Case studies
  7. Events

Company

  1. About
  2. Careers
  3. Press
  4. Brand assets
  5. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at scale
  4. Monorepo delivery

Support

  1. System status
  2. Forum