Buildkite Agent Versions Save

The Buildkite Agent is an open-source toolkit written in Go for securely running build jobs on any device or network

v3.70.0

6 days ago

v3.70.0 (2024-04-18)

Full Changelog

Added

  • Add BUILDKITE_STEP_KEY as a json logger field #2730 (@joeljeske)
  • New flag --spawn-per-cpu The number of agents to spawn per cpu in parallel (mutually exclusive with --spawn) #2711 (@mmlb)
  • Upload agent images to GHCR #2724 (@DrJosh9000)

Fixed

  • Update go-pipeline to v0.7.0 (Correctly upload cache name and size command step settings, support cache: false) #2731 (@jordandcarter)
  • Show descriptive error when annotation body size exceeds maximum when using stdin #2725 (@rianmcguire)

Internal

v3.69.0

2 weeks ago

v3.69.0 (2024-04-10)

Full Changelog

Added

  • Environment variable to control cache volume mounting on hosted agents #2720 #2722 (@moskyb)

Internal

v3.68.0

3 weeks ago

v3.68.0 (2024-04-04)

Full Changelog

Changed

  • Ensure that disabled warnings get passed to the logger in kubernetes agents #2698 (@moskyb)
  • Handle warnings from go-pipeline Parse #2675 (@DrJosh9000)
  • Don't run pre-exit hooks without command phase #2707 (@DrJosh9000)

Internal

v3.67.0

4 weeks ago

v3.67.0 (2024-03-28)

Full Changelog

Changed

  • De-experiment isolated plugin checkout #2694 (@triarius)
  • Always set git commit #2676 (@moskyb)
  • Silence Job API Log Group #2690, #2695 (@triarius)
  • Set a user agent when downloading most artifacts #2671 (@yob)
  • Extend default signal grace period to 9 seconds #2696 (@triarius)

Fixed

  • Fix commit resolution error message #2699 (@moskyb)
  • Update outdated option name #2693 (@fruechel-canva)

Internal

  • Add a User-Agent header when uploading artifacts to Buildkite's default location #2672 (@yob)
  • Break from artifact upload retry loop on more 4xx responses #2697 (@SorchaAbel)
  • Use roko.DoFunc #2689 (@DrJosh9000)
  • Dependabot up to its usual tricks: #2704, #2701, #2702, #2666, #2691, #2692 (@dependabot[bot])

v3.66.0

1 month ago

v3.66.0 (2024-03-12)

Full Changelog

Added

  • Extend graceful cancellation to all job phases #2654 (@david-poirier)
  • Add cli command to redact secrets and redact secrets from Pipelines Secrets #2660 (@triarius)
  • Configurably optional warnings #2674 (@moskyb)

Fixed

  • Update tool sign usage description to match actual command #2677 (@CheeseStick)
  • Remove experimental callout on signing flags (it wasn't experimental) #2668 (@moskyb)

Changed

  • Promote avoid-recursive-trap experiment #2669 (@triarius)
  • Remove requests logging in the Job API unless if in debug mode #2662 (@triarius)
  • Force GitHub URLs to use HTTPS if the agent's git-credential-helper if it is enabled #2655 (@triarius)

Internal

v3.65.0

1 month ago

v3.65.0 (2024-02-23)

Full Changelog

Added

  • Add flag for setting annotation priority #2644 (@matthewborden)

Changed

  • Chill out credential helper logging #2650 (@moskyb)

Internal

  • Fix test of JobAPI requiring socket set #2651 (@triarius)

v3.64.0

2 months ago

v3.64.0 (2024-02-21)

Full Changelog

Added

  • De-experimentify Job API #2646 (@triarius)
  • Add explicit queue flag to the agent #2648 (@moskyb)
  • Add an info log of which experiments are known and enabled on agent start #2645 (@triarius)
  • Add cli command to read from Pipelines Secrets [Not available to customers yet] #2647 (@triarius)

Fixed

  • YAML marshaling of wait, block, and input scalar steps (when using tool sign or pipeline upload --format=yaml) #2640 (@DrJosh9000)
  • Packaging: Use separate repos for each package type #2636 (@sj26)

Internal

v3.63.1

2 months ago

v3.63.1 (2024-02-16)

Full Changelog

Fixed

  • Fix NPE when decoding token response #2634 (@moskyb)

v3.63.0

2 months ago

v3.63.0 (2024-02-14)

Full Changelog

[!WARNING] This release has two potentially breaking changes in the way environment variables are interpolated.

  • Interpolation on Windows should be done in a case-insensitive manner to be compatible with Batch scripts and Powershell. This was working correctly up until some refactoring in v3.59.0.

    For example, this pipeline:

    env:
      FOO: bar
    steps:
    - command: echo $Foo $FOO
    

    should now be correctly interpolated on Windows as:

    env:
      FOO: bar
    steps:
    - command: echo bar bar
    

    Interpolation on other platforms is unchanged.

  • Our documented interpolation rules implies that variables from the agent environment have higher precedence than variables defined by the job environment ("we merge in some of the variables from the agent environment").

    Suppose the agent environment contains FOO=runtime_foo. The pipeline

    env:
      BAR: $FOO
      FOO: pipeline_foo
    steps:
    - command: echo hello world
    

    would in previous releases be interpolated as:

    env:
      BAR: runtime_foo
      FOO: pipeline_foo
    steps:
    - command: echo hello world
    

    On the other hand, the pipeline

    env:
      FOO: pipeline_foo
      BAR: $FOO
    steps:
    - command: echo hello world
    

    would be interpolated to become

    env:
      FOO: pipeline_foo
      BAR: pipeline_foo
    steps:
    - command: echo hello world
    

    We think this is inconsistent with the agent environment taking precedence, and if users would like to interpolate $FOO as the value of the pipeline level definition of FOO, they should ensure the agent environment does not contain FOO.

Added

  • BK github app git credentials helper #2599 (@moskyb)

Fixed

  • Fix pipeline interpolation case sensitivity on Windows, and runtime environment variable precedence #2624 (@triarius)
  • Fix environment variable changes in hooks logged incorrectly #2621 (@triarius)
  • Fix Powershell hooks on windows #2613 (@triarius)
  • Fix bug where unauthorised register was retrying erroneously #2614 (@moskyb)
  • Fix docs for --allowed-environment-variables #2598 (@tessereth)

Upgraded

  • The agent is now built with Go 1.22 #2631 (@moskyb)

Internal

v3.62.0

3 months ago

v3.62.0 (2024-01-23)

Full Changelog

Added

  • Add more fields to job logger #2578 (@ChrisBr)
  • Environment Variable allowlisting #2539 (@moskyb, originally @CheeseStick)

Fixed

  • When the server returns a 401, stop retrying and bail out #2569 (@SorchaAbel)
  • Retry for 24 hours instead of forever #2588 (@tessereth)
  • Documentation updates #2590 (@moskyb), #2591 (@moskyb), #2589 (@moskyb)

Internal