github buildkite/agent v3.45.0

latest releases: v3.82.1, v3.82.0, v3.81.0...
18 months ago

3.45.0 (2023-03-16)

Full Changelog

It's a busy one! The major new feature in this release is the job-api experiment, which enables an HTTP API within the agent that allows jobs to inspect and mutate their environment, without using the normal bash-isms that we normally require. This is a big step towards supporting hooks and plugins in other languages, and we're really excited to see what you all do with it!

When this experiment is enabled, the agent will start an HTTP server on a unix domain socket, the address of which will be made available through the BUILDKITE_AGENT_JOB_API_SOCKET environment variable, with a token available through the BUILDKITE_AGENT_JOB_API_TOKEN environment variable. This socket can be used with the buildkite-agent env {get,set,unset} commands on the commandline, or directly through cURL or other HTTP client. Included in this release of the agent is a golang client, which can be imported directly into your Go projects.

Also included is another experimental feature, descending-spawn-priority, which makes agents using the --spawn-with-priority flag spawn agents with a descending priority, rather than the default ascending priority. This is useful when running agents on heterogeneous hardware (ie, having two agents on one machine and four on another), as it means that jobs will be spread more evenly across the agents. For more information, see the original issue, and @DrJosh9000's PR. Huge thanks to @nick-f for bringing this to our attention!

Full changelog follows:

Added

Fixed

Changed

  • Kubernetes improvements:
    • Set a non-zero exit status when a job is cancelled in Kubernetes #2010 (@triarius)
    • Add tags from env variables provided by the controller in agent-stack-k8s if kuberenetes-exec experiment is enabled #2003 (@triarius)
  • Globs parsed by the agent now support negation and bracketing #2001 (@moskyb)
  • Allow the use of non-bash shells to execute agent hooks #1995 (@DrJosh9000)
  • Don't add custom remotes for submodules when using git-mirrors #1991 (@jonahbull)
  • Improve systemd behaviour when updating the agent #1993 (@triarius)
  • ... And as always, the usual crop of small fixes, dependency updates, and cleanups (@moskyb, @dependabot, @DrJosh9000, @triarius)

Don't miss a new agent release

NewReleases is sending notifications on new releases.