v0.2.0 — Pipette.DSL convenience constructors
Added
-
Pipette.DSLmodule — optional constructor functions for cleaner pipeline definitions:import Pipette.DSL group(:api, label: ":elixir: API", scope: :api_code, steps: [ step(:test, label: "Test", command: "mix test", timeout_in_minutes: 15), step(:lint, label: "Lint", command: "mix credo", timeout_in_minutes: 10) ])
These are plain functions wrapping
struct!/2— zero macros, zero metaprogramming. Unknown keys raiseKeyErrorfor typo detection. The raw%Pipette.Step{}structs continue to work. -
Production example guide — realistic 5-group monorepo pipeline with deploy chains, GCP WIF plugins, retry policies, agent targeting, secrets, concurrency groups, and cross-group step dependencies
-
Updated all guides to use DSL syntax with links to raw struct examples
Install
Mix.install([{:buildkite_pipette, "~> 0.2.0"}])Or as a Buildkite plugin:
plugins:
- tommeier/pipette#v0.2.0:
pipeline: .buildkite/pipeline.exs