LambdaCD 0.14.1

Released under the Apache License, version 2.0

A library to create a continous delivery pipeline in code.


To install, add the following dependency to your project or build file:

[lambdacd "0.14.1"]



Main entrypoinint into LambdaCD. Provides core functionality to assemble an instance of LambdaCD that can run.


Entry-point into the LambdaCD event bus.


Entrypoint into the pipeline/step execution engine.


This namespace contains functions useful to convert the internal state of a pipeline into something more easy to use for further processing, e.g. to present it to a user.


This namespace is responsible for converting the pipeline into a nice map-format that we can use to display the pipeline in a UI


This namespace contains functions to convert the current internal state of a pipeline and it’s structure into a form that’s easier to handle. Unifies the information from lambdacd.presentation.pipeline-state and lambdacd.presentation.pipeline-structure. Used for example to be able to display a pipeline and it’s current state in a UI.

Public variables and functions:


Runners are what keeps a pipeline going. The start new builds based on some logic, e.g. when the previous build is finished or (e.g if the first step is a trigger) after the first step is done.


Facade for all functions related to dealing with LambdaCDs state. Wraps the related interfaces to simplify compatibility and API.


Defines protocols that need to be implemented by a state component


Utility functions to deal with the logic behind step ids: step-ids are a sequence of numbers that represent the structure of the pipeline.


Functions to convert a nested step result and transform it into a flat list

Public variables and functions:


Functions that can help merge several step results into one

Public variables and functions:


Contains functions that can act as resolvers in merge-two-step-results by returning a merged result of two values if they match or nil if they don’t.


Control-flow elements for a pipeline: steps that control the way their child-steps are being run.

Public variables and functions:


DEPRECATED: Build-steps that let you work with git repositories. Use the lambdacd-git library instead.


Build step that waits for manual user interaction.

Public variables and functions:

Build step to run scripts in a separate shell process. Needs bash to run.

Public variables and functions:


Predicates over step status.

Public variables and functions:


Functions that implement logic to summarize a list of statuses into a single status. Commonly used in combination with unify-only-status as a :unify-results-fn to generate the status of a parent step from the statuses of child steps. These functions might return :unknown if a combination of statuses does not make sense to their scenario.


Functions that allow you to use LambdaCDs pipeline mechanisms inside a step, i.e. chain several steps together:


Functions that help in adding the ability for a step to be killed.

Public variables and functions:


Functions that support build steps in dealing with metadata

Public variables and functions:


Functions and macros that simplify dealing with a steps user readable output (:out). Two approaches are provided: The printer approach that gives full control over what will be provided as output and the capture-output-approach that just redirects all stdout.


REST-API into the current state, structure and history of the pipeline for use by the UI.

Public variables and functions:


Public variables and functions:


Public variables and functions: