Public build pages for open source
Buildkite pipelines can now made publicly visible, allowing them to be opened up to the world for the first time! 🌏
If you’re an account admin, you can enable read-only public access for a pipeline from the pipeline settings page.
Many customers and projects are already using them, such as Angular.js and Bazel, and we'd love to read any feedback or ideas you might have on our new beta community forum.
Public pipelines are just the first in a series of improvements we have coming for open-source projects—we’re just getting started!
p.s. Did you know we offer free plans for open source projects? 😘
Justin
Run pipelines locally with bk cli 🤖
We've been working on a command-line tool for Buildkite for a while. Recently it's been upgraded with a local pipeline runner for testing out pipelines locally on your development machine.
We use this for testing plugins, and quickly iterating on pipelines in development. Secretly, it was just an experiment to use the image support in iTerm 2 for rendering inline custom emojis 😉💥
Download the latest release and let us know what you think.
Lachlan
A new artifact delete button and two new delete APIs
You can now delete artifacts that you no longer want stored on Buildkite with the new delete button in the Artifacts tab:
When you delete an artifact, it's permanently deleted from our AWS S3 storage and removed from the job’s artifact list. If you’re using your own S3 bucket or Google Cloud Storage bucket for artifact storage, you'll need to manually remove them from your artifact store (don’t worry, we'll remind you to do this in the confirmation message).
If you’re performing deletions over a large number of builds, or wanting to automate deletion in general, we've updated the REST APIs to add support both artifact deletion and job log deletion.
Eleanor
Parallel jobs now show as a single group
We’ve updated the pipeline view of parallel jobs, so instead of showing every individual job they’re now shown as a single, expandable group 🎲
Each parallel job on the build page now also shows their number, and the parallel group size, alongside their label 🏷
Parallel jobs are a powerful way to reduce your build time by distributing your tests across agents 🌪 You can read about them in the parallel job documentation, or see them in action in the parallel testing screencast.
Jessica
Upload user avatars and organization icons
You can now upload a user avatar directly on Buildkite. 🤳🏻 You’ll find the option to either drag-and-drop, or browse for an avatar in your Personal Settings!
If you don’t upload an avatar directly, we’ll continue to use your Gravatar, or if you use Buildkite via Single Sign-On, the avatar from your SSO provider.
Finally, organization admins can find a new option to upload an icon under Organization Settings. 🖼 That icon will be used in the organization switcher, as well as shown alongside Single Sign-On prompts.
Jessica
Autocomplete for your pipeline.yml files
The Buildkite pipeline schema is now available in the JSON Schema Store and on GitHub, allowing you to autocomplete and validate your pipeline YAML files as you write them 📝✨
Any editor extension that supports RedHat YAML Language Server will automatically pick up support, including:
- vscode-yaml for VS Code
- ide-yaml for Atom
- coc-yaml for vim and neovim
- Eclipse Che
If you’ve built your own dynamic pipeline tools or plugins you can use the full JSON schema in your tests, or to validate your pipelines before uploading them to Buildkite.
Tim
Beta: Defining Pipeline Build Steps with YAML
We've just shipped a new beta feature giving you the ability to define your initial build steps using the same pipeline YAML format that you use in source code.
This means that you can now configure trigger steps, block steps with input fields, and plugins independently of your pipeline’s source repository. YAML steps will become the default for all new pipelines once the beta is complete.
Head on over to your "Pipeline Settings" page to convert your pipeline to YAML Steps.
You can read more about the feature and give us feedback in the Buildkite Community Forum
Keith
Two-Factor Authentication
Two-factor authentication for user accounts has just been released 🚀📟✨
You can find two-factor authentication in the sidebar of your Personal Settings. Set up your One Time Password with your favorite authenticator application, and don't forget to save your recovery codes somewhere secure 🗃💾💿
Harriet
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.
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
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...
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...
...into this...
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...
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! ✨
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 👀
Once you’ve shown the skipped jobs you can hover over them to see why they were skipped:
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):
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.
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. 📄🐢
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:
$ 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
) over on our GitHub Emojis repository
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.

