Changelog

CLI v3 beta release

A new version of the Buildkite CLI (bk) is now available in beta. 🎉

BK CLI output

With bk, you can view, create, cancel, and unblock your builds from the command line. You can also stop agents in bulk.

For more details and installation instructions, see the documentation. If you have feedback or run into issues, please create a GitHub issue.

Jarryd

Weekly mailer summarizing flaky tests

Teams can now schedule a weekly email summarizing their most flaky tests for the last 7 days. This summary will only include flaky tests assigned to the selected team. Either manually assign flaky tests, or check out the test owners feature to automate this process.

Flaky test summary mailer

Users can create and manage these notifications from the suite settings page.

Flaky test notification form

Katie

Flaky test resolution in Test Analytics

You can now resolve a flaky test within the flaky management dropdown.

Flaky test index showing the resolve button and badges

To learn more about flaky resolution, check out the documentation.

Meghan

View full job logs in the UI

You can now view the full logs for a job in the Buildkite Pipelines UI.

This change standardizes the options to view the full job logs:

  • Open: Opens a human-readable version of the logs in a new tab.
  • Download: Downloads the raw logs to your device.

To open the full logs for a job in the UI:

  1. Expand a job row on a build.

  2. Select Open.

    Truncated logs with open button

  3. View the full logs:

    Full job logs view

This feature will be turned on for all organizations in July 2024. If you would like early access to it, please contact support.

Liam

Build input parameters

When builds start with a block or input step, you can now provide the values from the New Build modal and the API.

Previously, you had to start the build and provide inputs when the corresponding step ran. With this change, the input options are shown in the New Build modal and can be included in the API.

This change only shows when a block or input step is the first step in a pipeline, and the build is started from the Buildkite Pipelines UI or API. If the build starts from a Git webhook or you don't provide the values in the API, block and input steps behave as before—pausing the build until they receive the required values.

For example, the following pipeline starts with an input step:

Example pipeline.yaml with an input step taking a value type of release version

So, the New Build modal looks like:

The New Build modal shows the choices of major, minor, and patch for the release version type.

This feature will be turned on for all organizations in July 2024. If you would like early access to it, please contact support.

Liam

Build row UI uplift

The build row is now easier to parse with updates to where key details appear, including:

  • Showing the running time under the build status.
  • Displaying the build number under the heading.
  • Adding profile pictures to user details.
  • Making the expansion areas on each row clearer with more defined click areas.

Previously, the build list looked like:

Old build list view

The new build list looks like:

New Build list view

Liam

Build header step contrast improvements

You can now more easily identify steps that are pending or in an unexpected state while a build is running.

This change came from customer feedback about the build header placing too much prominence on steps that don’t cause pipelines to fail, such as steps that have passed or soft failed. Steps in these states are expected and generally don’t require immediate attention.

Update

Thank you to the customers who worked alongside us on this small but impactful improvement. Please continue to reach out with your feedback and suggestions!

Brett

Better visibility of missing dependencies

You can now view missing dependencies in job rows. This allows you to quickly debug your pipeline configuration while the build is running or after it fails.

When a build is running, and a job has a dependency that doesn't exist yet, you'll see the following message:

Job row warning for missing dependency

You can expand the job row to see the names of the missing dependencies:

Detailed missing dependency warning in expanded job row

If the step dependency is not resolved and the build fails, you'll see an error message:

Job row error for failed job due to missing dependency

When you expand the job row, you'll see the names of the missing dependencies:

Detailed missing dependency error in expanded job row

Liam

Support for line breaks in block and input steps

You can now add line breaks to your block and input steps in Buildkite Pipelines. For example, see the prompt and hint fields in the following pipeline definition:

Adding line breaks to your block steps in your pipeline YAML

These fields are displayed in the UI as follows:

Example of a block step using line breaks

Liam

UI improvements for links and long commands on jobs

When viewing jobs, the links to agent and queue details now take up less space, and you can see the full command on hover when it's truncated.

A recent change added links from jobs to agent and queue details, but the links took up a significant portion of the job row. We've made the links more compact so you can see more of the job name and command while keeping direct links to the agent and queue details:

A job row shows the agent and queue information in a dropdown

When a longer job command is truncated, you can now see the full command on hover:

A job row shows a full command in a hover state

Liam

Retry failed jobs while builds are running

You can now retry failed builds directly from the build view.

If any jobs fail while a build is running, you will now see a Retry failed jobs button in the build header. This allows you to retry all failed jobs at once rather than selecting Retry on individual jobs.

The Retry failed jobs button displays on a running build after a job fails.

After a build finishes, the Retry failed jobs button now displays directly in the build header rather than under the Rebuild menu.

The Retry failed jobs button displays on a build that's finished.

Liam

Test search in Test Analytics

You can now search for tests by name, scope, and location from the Tests page. Test Analytics allows users to search their tests by name, scope and location

Katie

Search flaky tests from the UI or API

You can now search for flaky tests by test name, scope, and location using the Test Analytics UI or API. Test Analytics allows users to search their flaky tests on the Flaky test page and API

To learn more, check out the API documentation.

Katie

Introducing: Flaky test assignment in Test Analytics

Users on our Pro and Enterprise plans can assign flaky tests to teams in their organization. Use flaky test assignment to signal to other teams that a flaky test is being worked on.

Test Analytics shows the flaky tests assigned to a user

To learn more, check out the documentation.

Katie

Linking to jobs from waterfall view

The waterfall view has been updated to help you debug builds faster.

You can now go directly from a job in the waterfall view:

Screenshot 2024-03-07 at 6.12.08 pm.png

To its log output:

Screenshot 2024-03-07 at 6.13.50 pm.png

Liam

Introducing: Teams REST API

Buildkite Teams can be accessed programmatically through the REST API, improving parity with our existing GraphQL API.

Explore further details and learn how to integrate with our API documentation.

Jason

Cypress support for Test Analytics

You can now use Test Analytics to manage your Cypress test suites. With the JavaScript test collector configured, Cypress test results are automatically sent to Test Analytics to give you insights into your test suite.

Check out the docs to learn more about configuring Test Analytics with Cypress.

Naufan

Clusters Generally Available

Clusters is a Buildkite feature used to manage and organize agents and queues, which:

  • allows teams to self-manage their Buildkite agent pools,
  • allows admins to create isolated sets of agents and pipelines within within a single Buildkite organization,
  • helps make agents and queues more discoverable across your organization,
  • gives you more control over your agents and queues like pausing them, and
  • provides easily accessible queue metrics.

All existing agents can now be accessed through Unclustered grouping on the agents page.

Learn more about clusters

Liam

Linking to agents from jobs

You can now go directly from jobs to agent details. When viewing a build, you'll see each job with its agent's name and a link to the agent details:

link-to-agent.png

If you're using clusters, you'll see a link to the queue for the job while waiting for an agent to be assigned:

link-to-queue.png

Once the job is assigned to an agent, you'll see the agent details alongside the queue:

link-to-agent-and-queue.png

Kalo

Lower Agent Timeouts

We have reduced agent timeouts from 5 minutes to just 3 minutes, and improved the lost agent cleanup service from 5 minutes to 1 minute! This enhancement offers significant benefits to our customers, particularly those utilizing spot instances for their agents.

With shorter timeouts, jobs now fail faster when spot instances can't compete on price, slashing the time it takes for pipelines to detect and recover from failures from 10 minutes to just 4 minutes. This means faster feedback loops, streamlined pipelines, and ultimately, accelerated development cycles.

Learn more about it

Oz

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

Support

  1. System status
  2. Forum