1. Resources
  2. /
  3. Plugins
  4. /
  5. driverforge-buildkite-plugin

driverforge-buildkite-plugin

Install the Driverforge CLI onto a Buildkite agent and optionally run a target (build, …). The customer-facing way to build and package Control4 drivers in a Buildkite pipeline.

Model: the environment hook always installs driverforge onto PATH; the command hook then either runs a configured target or your step’s own command.

Usage

Environment setup only

driverforge is put on PATH; the step’s own command: does the work:

steps:
  - command: driverforge build -c release
    plugins:
      - driverforge/driverforge#v1.2.0:
          version: '1.4.0'        # pinned, or 'latest'

Run a target directly (one-step packaging)

steps:
  - plugins:
      - driverforge/driverforge#v1.2.0:
          command: build
          configuration: release
          increment: patch

Configuration

OptionTypeDescription
versionstringCLI version — pinned (1.4.0) or latest (default)
commandstringTarget to run after install (e.g. build). Omit for setup-only
project-dirstringDriver project path (--project-dir / -p)
configurationstringBuild configuration (--configuration / -c)
incrementstringVersion bump: major | minor | patch
driver-versionstringStamp an absolute driver <version> (--version). Mutually exclusive with increment
encryptboolForce encryption on (true) or off (false); omit to keep the driver’s setting
no-suffixboolBuild a named configuration under the naked driver name (--no-suffix); false forces suffixing back on
sourcemapboolEmit a sourcemap (--sourcemap / -s)
unpackboolKeep unpacked output (--unpack / -u)
argsstringExtra raw args appended to the invocation (escape hatch)
cache-dirstringPer-agent download cache dir (default ~/.cache/driverforge-buildkite)

To ship after building, set command: deploy or command: sync instead of build — shipping is its own CLI command that builds first, so there is no deploy/sync option.

How it works

The environment hook detects OS/arch → downloads the pinned release archive from releases.driverforge.comverifies the SHA-256 checksum → caches it per-agent (<cache-dir>/driverforge/<version>/<arch>) so repeat builds don’t re-download → exports it onto PATH.

The command hook replaces the step’s command phase. With command: configured it runs driverforge <command> with the mapped flags; otherwise it re-runs the step’s own command: (with driverforge already on PATH). Supported agents: Linux and macOS (amd64 / arm64).

Developing

shellcheck hooks/* lib/*.bash
docker run --rm -v "$PWD:/plugin:ro" buildkite/plugin-linter --id driverforge/driverforge
docker run --rm -v "$PWD:/plugin:ro" buildkite/plugin-tester    # BATS hook tests

Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md. This repo is a public mirror of a private monorepo, so accepted PRs land via an upstream import and show as closed (not merged) with your authorship preserved; the linked guide explains why. Please also read the Code of Conduct.

Security

Report vulnerabilities privately — see SECURITY.md. Please don’t open public issues for security reports.

License

MIT — see LICENSE.

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started for free.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services
  10. CI/CD perspectives

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for MLOps
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement
  6. Supplier Code of Conduct
  7. Modern Slavery Statement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2026