Configure and manage your single sign-on providers
We've added a new Single Sign-On section to your Buildkite organization settings, allowing you to setup, test, activate and manage your SSO configuration:
See the SSO documentation for all the details, and how to get started.
Eleanor
Scheduled Builds now allow specifying a time zone
We’ve added support for setting the timezone of your Scheduled Builds, so you’re no longer limited to just UTC ⏰
As an added bonus, if you specify a timezone it will automatically handle changes such as daylight savings 🎉
You can read more about the new timezone support in the updated Scheduled Builds documentation.
Jessica
Link directly to build annotations
We've added the ability to link to build annotations, so you can more easily share them with your team, and link to them in your build output 🔗
You can find an annotation's link using the coloured bar on the left, or you can add #annotation-<context>
to the build page's URL. For example, if the annotation has the context coverage
, you'd add #annotation-coverage
to the build page's URL.
See the buildkite-agent annotate documentation for information on adding and updating build annotations.
Jessica
Support for rotating pipeline webhook URLs
We've added a pipelineRotateWebhookURL
GraphQL mutation for rotating the webhook URL that connects a pipeline with your source control. And a github-webhook-rotate CLI tool for automating the process with GitHub 🌪
You can find the CLI tool on GitHub at buildkite/github-webhook-rotate, and the GraphQL mutation documentation by searching for pipelineRotateWebhookURL
in the GraphQL Explorer.
Lachlan
Inspect and revoke API Access Tokens via the REST API
We've added a new set of REST APIs for managing an API Access Token, including the ability to immediately revoke the current token 🗑
See the API Access Token REST API documentation for more details.
Tim
IP limiting for self hosted source code
To help increase the security between Buildkite and your Github Enterprise, Gitlab Community/Enterprise, or Bitbucket Server, you can now limit which IP address ranges are allowed to send build events to Buildkite 🚧
You can configure the new IP restrictions using the "Allowed IP Addresses" fields in your Buildkite Organization Settings.
Justin
Compromised password protection
To protect accounts from being accessed using compromised passwords, we've integrated haveibeenpwned.com into all of our authentication systems, allowing us to verify that known compromised passwords can't be used to access Buildkite data 🚷
The integration with haveibeenpwned.com uses a technique called k-anonymity hashes, which hashes the password and sends only the first few characters, ensuring there's little risk of disclosing information about your password.
Lachlan
Trigger builds on GitHub fork creation
In addition to running builds when code is pushed to GitHub forks, you can now trigger builds when forks are created 🍽🤖
You can use fork events to automatically provision staging environments for example, or to automate other aspects of your fork-based workflows.
Support for the fork event is supported for both GitHub and GitHub Enterprise, and can be configured from your pipeline’s GitHub or GitHub Enterprise Settings.
Justin
New in the Elastic Stack: Experimental Lambda-based Scaler
The latest version of the stack, v4.3.1, introduces a new parameter: EnableExperimentalLambdaBasedAutoscaling
.
When set to true
it will disable the default Amazon-AutoScaling-powered scaling behavior in favor of a Lambda that handles the scale-out.
The result is a much, much faster scale-out and a much simpler scale-in process that no longer requires lifecycled 🎉
For more information on this parameter, check out our Forum post about it: Experimental Lambda-based Scaler.
Harriet
Command steps can now be made to soft fail
We've added a new soft_fail
property to command steps, so you can ensure that some jobs never fail the build 🎈
1 2 3 4 5
steps: - label: '💨 Smoke Test' command: smoke-test.sh soft_fail: - exit_status: 1
To ensure you're not swallowing unintended errors, soft failures can be configured to handle specific exit statuses. And if a job soft fails, it'll be marked in the pipeline with a red warning icon, letting you keep an eye on it:
You can read more about the new soft_fail
property in the Command Step documentation.
Justin
View pipeline uploads in the job Timeline tab
To help debug your dynamic pipeline uploads you can now view pipeline uploads in the job Timeline tab 🆙
We've also made the job concurrency configuration clearer, by including the concurrency group and limit in the "Job created" timeline item:
Tim
Buildkite Changelog now has an Atom feed
You can now pipe updates from the Buildkite Changelog directly into your Slack channels, or other team chat tool, using the new Atom feed 🐶🗞
If you use Slack, see Slack’s guide to adding feeds. If you use other tools, or you need the full feed URL, you can access the new feed at https://buildkite.com/changelog.atom ✨
Lachlan
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
Start turning complexity into an advantage
Create an account to get started with a 30-day free trial. No credit card required.