Harmont docs
Concepts

Builds, jobs, steps

One execution, one unit of work, one DSL verb.

A build is one execution of a pipeline. The evaluator expands the pipeline into a DAG of jobs, and each job traces back to one step in the DSL. The API persists every level so the dashboard and CLI can present the same conceptual model.

What each level is

LevelWhat it isPersisted as
BuildOne execution of a pipeline against a source bundle.Build row, scoped per-pipeline by number.
JobOne unit of work handed to a runner.Job row, with a state column.
StepThe DSL verb that produced the job.Inlined in the pipeline's evaluated JSON.

Job lifecycle

The state machine in api/src/Harmont/Executor/Engine.hs is the source of truth. The canonical happy path:

pending → scheduled → running → passed
                              ↘ failed
                              ↘ canceled

Real states include waiting, assigned, accepted, timed_out, and broken; see JobState in api/src/Harmont/Model/Enums.hs for the full set.

Source of truth

  • api/src/Harmont/Model.hsBuild and Job Persistent models.
  • api/src/Harmont/Executor/Engine.hs — legal state transitions.

On this page