reci.recipe

Recipe model — declarative CI pipeline description.

A recipe is a YAML file that looks like a GitHub Actions workflow but with reci extensions: ${{ config.* }} references, bind: mappings for input renaming, and outputs: annotations on run: steps.

Functions

parse_recipe(path)

Load a recipe YAML and return a Recipe.

parse_recipe_string(text)

Parse a recipe from a YAML string (useful for testing).

Classes

JobSpec(id[, steps, needs, if_, runs_on, ...])

One job inside a recipe.

Recipe(name, on[, jobs, env, defaults, extra])

A complete reci recipe.

StepSpec(id[, uses, run, with_, if_, name, ...])

One step inside a job.

Exceptions

RecipeParseError

Raised when a recipe YAML is structurally invalid.

class reci.recipe.JobSpec(id, steps=<factory>, needs=<factory>, if_=None, runs_on='ubuntu-latest', strategy=None, permissions=None, continue_on_error=False, env=<factory>, extra=<factory>)[source]

Bases: object

One job inside a recipe.

class reci.recipe.Recipe(name, on, jobs=<factory>, env=<factory>, defaults=None, extra=<factory>)[source]

Bases: object

A complete reci recipe.

exception reci.recipe.RecipeParseError[source]

Bases: Exception

Raised when a recipe YAML is structurally invalid.

class reci.recipe.StepSpec(id, uses=None, run=None, with_=<factory>, if_=None, name=None, outputs=<factory>, bind=<factory>, env=<factory>, continue_on_error=False, extra=<factory>)[source]

Bases: object

One step inside a job.

reci.recipe.parse_recipe(path)[source]

Load a recipe YAML and return a Recipe.

Return type:

Recipe

reci.recipe.parse_recipe_string(text)[source]

Parse a recipe from a YAML string (useful for testing).

Return type:

Recipe