Skip to content

Releases: trunk-io/dynamic-ci-buildkite-plugin

v0.1.1: Merge pull request #5 from trunk-io/max/run-identity-is-the-build-number

Choose a tag to compare

@max-trunk max-trunk released this 21 Sep 20:16
f8e3dc9
fix: send the build number as the run id, and a constant run attempt

v0.1.0

Choose a tag to compare

@max-trunk max-trunk released this 18 Sep 21:03
7773559

First release of the Dynamic CI Buildkite plugin as its own repository.

The plugin skips the steps your diff does not need, using your organization's own CI history. Trunk decides at pipeline-upload time, so a skipped step never acquires an agent.

Usage

steps:
  - label: ":pipeline: upload"
    secrets:
      - TRUNK_TOKEN
    command: |
      cat .buildkite/pipeline.yml \
        | trunk-dynamic-ci-filter \
        | buildkite-agent pipeline upload
    plugins:
      - trunk-io/dynamic-ci#v0.1.0: ~

See the README for the options, and for what the plugin does and does not change about your pipeline.

Why this repository exists

The plugin previously lived in a subdirectory of trunk-io/dynamic-ci, the Dynamic CI GitHub Action. Buildkite resolves the short org/name#ref reference only for a plugin at the root of a repository whose name ends in -buildkite-plugin, so customers had to write the full path to a subdirectory. They no longer do.

Notes

  • Pin an exact version. Agents cache a plugin's checkout by the ref you name, and BUILDKITE_PLUGINS_ALWAYS_CLONE_FRESH is off by default, so a moving tag can leave an agent running code you did not audit. There is deliberately no major-version alias.
  • It installs nothing. vendor/ ships checksum-verified static jq binaries for linux-amd64, linux-arm64 and macos-arm64; the hook verifies the checksum before executing.
  • It fails open. Any failure — an unreachable API, a timeout, an unreadable plan, a missing jq — uploads your pipeline unmodified and logs why. This runs on the critical path of every build.

0.1.0 rather than 1.0.0: the interface is settled enough to use and not yet enough to promise.