Canceled builds now show who canceled
We've just shipped a small update to the build page to include the user who canceled the build 🙅♀️🙅♂️
And if your build was canceled due to Build Skipping (e.g. if you’ve enabled "Cancel Intermediate Builds") we'll show that too:
Keith
Docker Plugin v2
Buildkite Docker Plugin v2.0.0 has been released, and includes:
- Support for multi-line commands
- A new
command
option for using single-binary/command line Docker images - Windows container support
1 2 3 4 5 6
steps: - command: 'dotnet publish -c Release -o published' plugins: - docker#v2.0.0: image: 'microsoft/dotnet:latest' always-pull: true
See all the details, and upgrade instructions, on the release notes: https://github.com/buildkite-plugins/docker-buildkite-plugin/releases/tag/v2.0.0
Lachlan
Buildkite Agent 2.2
We’ve just released Buildkite Agent v2.2 (Brangelina) 💑💔
So what's changed since Buildkite Agent 2.1.14?
Features
- The
buildkite-agent
binary is now built with Golang 1.7 giving us support for macOS Sierra - 💨 The agent now talks HTTP2 making calls to the Agent API that little bit faster
- 📦 The binary is a statically compiled (no longer requiring
libc
) -
meta-data-ec2
andmeta-data-ec2-tags
can now be configured usingBUILDKITE_AGENT_META_DATA_EC2
andBUILDKITE_AGENT_META_DATA_EC2_TAGS
environment variables
(Possible)? Breaking changes
We've removed our dependency of libc
for greater compatibly across *nix systems which has had a few side effects:
- We've had to remove support for changing the process title when an agent starts running a job since it required
libc
to work. This feature has only ever been available to users running 64-bit Ubuntu. We'd like to bring this feature back in the future in a way that doesn't have us relying onlibc
- The agent will now use Golangs internal DNS resolver instead of the one on your system. This probably won't effect you in any real way, unless you've setup some funky DNS settings for
agent.buildkite.com
The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
Keith
Improved organization invitation system
Today we’ve shipped some changes to simplify the Buildkite invitation system, including revamped invitation emails, automatic email address verification and a new screen for you to double check invitations before accepting them.
You can get the lowdown on our Building Buildkite blog post 🌟
Keith
Buildkite Agent 2.1.14
Update: We accidentally introduced a bug in this release. Please upgrade to the latest agent instead.
It's a cold winter's day here in Melbourne, but never too cold for new Buildkite Agent release: v2.1.14 (Frosty) ⛄️
What’s new since v2.1.13?
- 🔍 SSH key scanning should be more resilient, whether or not you hash your known hosts file
- 🏅 Commands executed by the Bootstrap script correctly preserve positional arguments and handle interpolation better
- 🌈 ANSI color sequences are a little more resilient
- ✨ Git clean and clone flags can now be supplied in the Agent configuration file or on the command line
- 📢 Docker Compose will now be a little more verbose when the Agent is in Debug mode
- 📑
$BUILDKITE_DOCKER_COMPOSE_FILE
now accepts multiple files separated by a colon (:
), like$PATH
The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
For a full list of what's changed see the GitHub release page
Samuel
Buildkite Agent Homebrew Updates
If you’ve installed the Buildkite Agent using Homebrew recently you might have noticed warnings about the use of SHA1:
1 2 3 4 5
$ brew install buildkite-agent ==> Installing buildkite-agent from buildkite/buildkite ==> Downloading .../buildkite-agent-darwin-386-2.1.13.tar.gz Warning: SHA1 support is deprecated and will be removed in a future version. Please switch this formula to SHA256.
Well, we’ve updated everything to use SHA256. Installing using Homebrew should now be slightly less eventful 🎉
We also noticed that installing the new Buildkite Agent 3.0 beta using homebrew’s --devel
flag wasn't quite working, so we’ve fixed that too! 🍻
Samuel
Buildkite Agent 2.1.9
We’ve just released Buildkite Agent v2.1.9 (Purple Rain) ⚛️
What’s new since v2.1.8? Two bug fixes and lots of Docker Compose improvements:
- 🌈 Build headers now work even if they're wrapped in ANSI color escape codes
- 🐛 Step commands are now run with bash’s
-o pipefail
option, preventing silent failures wherefailed_command | cat
would end up with a passing step - Docker Compose 1.7.x support, including docker network removal during cleanup
- Docker Compose builds now specify
--pull
, so a new base image will always be pulled if one exists - The "Running command" section of Docker Compose job output is now expanded by default
- Docker Compose will now only build the specified service’s image, not all images. If you want to build all images, set the environment variable
BUILDKITE_DOCKER_COMPOSE_BUILD_ALL=true
- No more
BUILDKITE_DOCKER_COMPOSE_LEAVE_VOLUMES
undefined errors inbootstrap.sh
This release coincides with the beta of Buildkite AWS Stack, a one-click auto-scaling build cluster in it's own AWS VPC capable of running any project with a docker-compose.yml
. Please test it out and send us your questions and feedback.
The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
For a full list of what's changed see the GitHub releases page
Tim
Webhook payloads now include an event property
If you’ve tried processing Buildkite webhooks with AWS Lambda and Google Cloud Functions you'll know dealing with HTTP headers can sometimes be more painful than dealing with plain old JSON body properties.
To simplify the job of Buildkite webhook integration we’ve added the event name to the JSON payload body itself—you no longer need extra code to handle HTTP headers 🎉
We’ve updated all the webhooks examples with the new event
property. For example, the build.finished
webhook now looks like this:
1 2 3 4 5 6 7 8 9
{ "event": "build.finished", "build": { "..": "..." }, "sender": { "...": "..." } }
We’ve also updated the API overview to clarify when to pass query string parameters and when to send JSON request bodies. The docs for each endpoint explain exactly what is expected
We hope these changes bring a little less 😣 a little more 😺 when you’re working on Buildkite API integrations 💚
Tim
API updates and community releases
After a long weekend full of 🍫🐰 we’re happy to share some of the recent API updates that we’ve made based on your feedback 🛰️✨
- The
Link
header is now exposed via CORS headers so you can paginate API results in the browser. - The Pipelines API now supports PATCH requests, allowing you to programatically update your build pipeline configuration.
- Pipeline response objects now include a
badge_url
property with the URL to its build badge. - The build list APIs have a new
finished_from
parameter, afinished
build state alias, and you now can filter by multiplestate
values. - And finally, our GraphQL beta API has received lots of updates as we move more of our own frontend to be GraphQL powered 💪
In addition to the changes we’ve rolled out, here’s a few of the API integrations recently shared by the community:
- Boxkite was released by Matt Delves. Boxkite is an iOS app for managing your builds when you’re away from your computer, and makes use of almost every API we have available
- Buildkite AWS Cloudwatch Metrics Publisher received a big update thanks to Lachlan Donald from 99designs. The Cloudwatch Metrics Publisher monitors your build queues and publishes metrics to AWS Cloudwatch, so you can autoscale your build servers on demand
- terraform-buildkite was released by Martin Atkins at SayMedia, allowing you to setup and maintain your Buildkite account via Terraform, for all your meta-automation needs
- A Cog bundle for Buildkite was released by Operable, allowing you to query Buildkite pipelines via your ChatOps bot
- bk-board was released by Fraser Xu, a reporting dashboard for your Buildkite activity, and the accompanying buildkite-node npm library that powers it (via a lovely promises-based API)
- buildkite-git-trigger was released by timmipetit at Recras, allowing you to monitor arbitrary git repositories and trigger builds
If you’re using our API in interesting ways, or you find something missing that would help you, send a quick email to support@buildkite.com—we’d love to hear from you ✉️
Happy building! 🎉
Tim
Buildkite Agent 2.1.8
We’ve just released Buildkite Agent v2.1.8 (Triantiwontigongolope 🐛) 🎉
What’s new since v2.1.6? A whole slew of bug reports have been closed, including an important fix for running multiple commands, improved build log streaming performance, and a few handy new features:
- If you use a private S3 bucket for build artifact storage you can now set export a
BUILDKITE_S3_ACCESS_URL
environment variable to point to your own S3 proxy host (such as s3auth.com or aws-s3-proxy) to view your private artifacts in your web browser directly from the links in the Buildkite web interface 🎉 - You can set an export a
BUILDKITE_GIT_CLEAN_FLAGS
environment variable to configure the flags passed togit clean
on every build. By default we don't specify-x
, which can lead to unexpected files being left around from previous builds if they’re in your git ignore list. In the future we're making-x
the default, but in the meantime you can addexport BUILDKITE_GIT_CLEAN_FLAGS="-fxd"
in your agent’s environment hook and enjoy pristine checkouts. - 📦 We now support the
armhf
architecture, allowing you to run the agent on platforms such as Scaleway.
A big thank you to everyone who contributed bug reports and GitHub pull requests ❤️
These releases have been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
For a full list of what's changed see the GitHub releases page
Tim
Buildkite Agent 2.1.6
Hot on the heels of the previous release comes Buildkite Agent 2.1.6. 🔥
In the previous release we changed the way we fetch Git branches and tags. Unfortunately we've discovered that some older versions of Git before 1.9.0 have trouble with the way we were fetching tags. This new version adds backwards compatibility for folks stuck with an older version of Git. 🕙
This release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
For a full list of what's changed and downloadable binaries head on over to the GitHub release page.
Samuel
Buildkite Agent 2.1.5
We've just released a new Buildkite Agent stable version: 2.1.5 🎉
This release fixes a few minor issues we've seen since the previous stable version, including:
- Amazon Linux upstart was killing agents too aggressively, causing spurious build failures when auto-scaling (#244)
- Timeouts were always sending a SIGTERM instead of any configured signal (#215)
- Fetching specific git commits doesn't fetch refs and was causing checkout failures, and some other minor git fetch issues (#243)
This last issue has been cropping up for several users. It usually looks something like:
1 2 3 4 5
$ git fetch -q origin abc123 2> /dev/null || git fetch -q $ git reset --hard origin/my-branch fatal: ambiguous argument 'origin/my-branch': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'
This release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.
For a full list of what's changed and downloadable binaries head on over to the GitHub release page.
Happy building! 😁
Samuel
Projects are now Pipelines
Welcome to the first Changelog update! ✨ This is where we’ll keep you up-to-date with the small improvements we’re constantly rolling out. The big stuff will still make it onto the blog, but if you’re a daily Buildkite user there’s lots of other changes you’ll want to know about.
Now, onto the first update… 😄
You may have noticed that we’ve recently renamed Projects to Pipelines, both in the web interface as well as the API. We’ve been wanting to make this change for a while because there's nothing project-y about Buildkite—we’re not a project management tool, our job is to help you build amazing software delivery pipelines 🔨📦🚀
To coincide with the rename we’ve made a Sample Pipelines GitHub repository to help discover and share the different ways of using pipelines, such as how to dynamically generate pipelines and trigger dependent pipelines. There’s also now a handful of examples for common languages and tools. Please send through a pull request to update the Readme if you have your own example you’d like to share ❤️
You can also use the new \:pipeline\:
emoji, perfect for your pipeline upload steps. It looks like this:
The REST API has been bumped to v2, and the webhooks to v3, to incorporate the rename. For the API see our notes for what's changed from v1 to v2, and to upgrade your webhooks simply browse to the webhook and hit the Upgrade
button 👍
Tim
Start turning complexity into an advantage
Create an account to get started with a 30-day free trial. No credit card required.