Harmont docs
Concepts

Pipelines

The versioned definition of CI work.

A pipeline is the static definition; a build is its execution. A pipeline lives in your repo as .harmont-pipeline.py (Python DSL) or .harmont-pipeline.scm (raw Scheme). Either form transpiles to the shared JSON contract that harmont-api consumes.

Lifecycle

  1. hm run (or a Git push hooked through harmont-gh-app) submits the pipeline source.
  2. harmont-api shells out to harmont-eval (the s7-Scheme interpreter binary). The evaluator emits {"version": "1", "steps": [...]}.
  3. The API persists the pipeline definition and enqueues a build.

See also

On this page