v0.33.1
v0.33.1 (2025-10-22)
This release primarily fixes the agent behaviour when a job's pod is deleted, allowing more time for post-command hooks, post-exit hooks, and artifact uploads to complete with logs uploaded and the job correctly marked as finished. The grace period is based on terminationGracePeriodSeconds.
Changed
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.109.1 to 3.110.0 #750 (@dependabot[bot])
- Set {signal,cancel} grace period agent config #748 (@DrJosh9000)
Agent changelog
v3.110.0 (2025-10-22)
Added
- Configurable chunks interval #3521 (@catkins)
- Inject OpenTelemetry context to all child processes #3548 (@zhming0)
- This is done using environment variables. This may interfere with existing OTel environment variables if they are manually added some other way.
- Add --literal and --delimiter flags to artifact upload #3543 (@DrJosh9000)
Changed
Various improvements and fixes to do with signal and cancel grace periods, and signal handling, most notably:
- When cancelling a job, the timeout before sending a SIGKILL to the job has changed from cancel-grace-period to signal-grace-period (
--signal-grace-period-secondsflag,BUILDKITE_SIGNAL_GRACE_PERIOD_SECONDSenv var) to allow the agent some extra time to upload job logs and mark the job as finished. By default, signal-grace-period is 1 second shorter than cancel-grace-period. You may wish to increase cancel-grace-period accordingly. - When SIGQUIT is handled by the bootstrap, the exit code is now 131, and it no longer dumps a stacktrace.
- The recently-added
--kubernetes-log-collection-grace-periodflag is now deprecated. Instead, use--cancel-grace-period. - When running the agent interactively, you can now Ctrl-C a third time to exit immediately.
- In Kubernetes mode, the agent now begins shutting down on the first SIGTERM. The kubernetes-bootstrap now swallows SIGTERM with a logged message, and waits for the agent container to send an interrupt.
- When the agent is cancelling jobs because it is stopping, all jobs start cancellation simultaneously. This allows the agent to exit sooner when multiple workers (
--spawnflag) are used.
See #3549, #3547, #3534 (@DrJosh9000)
Fixed
- Refresh checkout root file handle after checkout hook #3546 (@zhming0)
- Bump zzglob to v0.4.2 to fix uploading artifact paths containing
~#3539 (@DrJosh9000)
Internal
- Docs: Add examples for step update commands for priority and notify attributes #3532 (@tomowatt)
- Docs: Update URLs in agent cfg comments #3536 (@petetomasik)
Dependency updates
- Upgrade Datadog-go to v5.8.1 to work around mod checksum issues #3538 (@dannyfallon)
- build(deps): bump the container-images group across 3 directories with 2 updates #3545 (@dependabot[bot])
- build(deps): bump gopkg.in/DataDog/dd-trace-go.v1 from 1.74.6 to 1.74.7 #3544 (@dependabot[bot])
- build(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 #3523 (@dependabot[bot])
- build(deps): bump docker/library/golang from 1.24.8 to 1.24.9 in /.buildkite in the container-images group across 1 directory #3542 (@dependabot[bot])
- build(deps): bump the cloud-providers group across 1 directory with 6 updates #3541 (@dependabot[bot])
- build(deps): bump the container-images group across 3 directories with 1 update #3540 (@dependabot[bot])
- build(deps): bump the golang-x group with 5 updates #3525 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.33.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.33.1
Digest: sha256:0b04e99b40079a30d4b71245d726d74ff64260965b38a2f1217050d28c8cace0
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.33.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.33.1
Digest: sha256:556758dd95c85437fd3b720a2557ee4f8ae1eb0efdea72c48e6a75f117355311
Agent
Image: ghcr.io/buildkite/agent:3.110.0
Digest: sha256:a5e20b66d3aa10277b590137bf6f91b5025bdd1696778844e2c6c60bd89db7af