Skip to main content

Crate cuenv_buildkite

Crate cuenv_buildkite 

Source
Expand description

Buildkite CI Pipeline Emitter for cuenv

This crate provides a Buildkite pipeline emitter that transforms cuenv’s intermediate representation (IR) into Buildkite pipeline YAML format.

§Example

use cuenv_buildkite::BuildkiteEmitter;
use cuenv_ci::emitter::Emitter;
use cuenv_ci::ir::IntermediateRepresentation;

let emitter = BuildkiteEmitter::new()
    .with_emojis()
    .with_default_queue("linux-x86");

let ir: IntermediateRepresentation = /* ... */;
let yaml = emitter.emit(&ir)?;

println!("{}", yaml);

§IR to Buildkite Mapping

IR FieldBuildkite YAML
task.idkey
task.commandcommand
task.envenv
task.secretsenv (variable references)
task.depends_ondepends_on
task.resources.tagsagents: { queue: "tag" }
task.concurrency_groupconcurrency_group + concurrency: 1
task.manual_approvalblock step before task
task.outputs (orchestrator)artifact_paths

Re-exports§

pub use emitter::BuildkiteEmitter;
pub use provider::BuildkiteCIProvider;

Modules§

emitter
Buildkite Pipeline Emitter
provider
Buildkite CI Provider
schema
Buildkite Pipeline Schema Types