Pipeline DSL
Scheme DSL
The canonical pipeline form.
The Scheme DSL is the canonical form. Python is sugar on top: every
Python class generates a Scheme s-expression, and harmont-eval
evaluates that into JSON. You can author .harmont-pipeline.scm
directly when you want fewer layers.
Minimal example
(pipeline
(list
(command-step "npm test"
label: ":test_tube: Test"
key: "test")
(wait-step)
(command-step "scripts/deploy.sh"
label: ":rocket: Deploy"
key: "deploy"))
env: (list (cons "CI" "true")))This is the same pipeline as the Python example, one layer down.
Source of truth
cidsl/lisp/src/— DSL definitions (harmont_dsl.scmand friends).cidsl/lisp/examples/— runnable example pipelines.cidsl/lisp/tests/— golden-output tests for the evaluator.