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! 🍻
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):
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.
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:
-o pipefail
option, preventing silent failures where failed_command | cat
would end up with a passing step--pull
, so a new base image will always be pulled if one existsBUILDKITE_DOCKER_COMPOSE_BUILD_ALL=true
BUILDKITE_DOCKER_COMPOSE_LEAVE_VOLUMES
undefined errors in bootstrap.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
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 💚
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 🛰️✨
Link
header is now exposed via CORS headers so you can paginate API results in the browser.badge_url
property with the URL to its build badge.finished_from
parameter, a finished
build state alias, and you now can filter by multiple state
values.In addition to the changes we’ve rolled out, here’s a few of the API integrations recently shared by the community:
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! 🎉
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. ☠️
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:
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 🎉BUILDKITE_GIT_CLEAN_FLAGS
environment variable to configure the flags passed to git 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 add export BUILDKITE_GIT_CLEAN_FLAGS="-fxd"
in your agent’s environment hook and enjoy pristine checkouts.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
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.
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:
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! 😁
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! 🕷️
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 🌯
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 👍
Create an account to get started with a 30-day free trial. No credit card required.