reci.compiler¶
Compiler — recipe + action specs + config → GitHub Actions workflow YAML.
The compiler resolves data-flow wiring using a five-level precedence, injects
a setup job that exports config values as job outputs, auto-generates the
cross-job output forwarding ceremony, and adds needs: edges from data-flow
dependencies.
Functions
|
Compile a recipe into a GitHub Actions workflow dict. |
|
The data-flow reads that justify each |
|
Find data-flow edges between steps in different jobs. |
Exceptions
Raised when compilation fails. |
- reci.compiler.compile_recipe(recipe, action_specs, *, config=None)[source]¶
Compile a recipe into a GitHub Actions workflow dict.
- Parameters:
recipe (
Recipe) – Parsed recipe.action_specs (
dict[str,ActionSpec]) – Action specs keyed by ref string.config (
dict[str,Any] |None) – Flat config dict (optional). If non-empty, asetupjob is injected, jobs depend on it, and config references are wired. Cross-job data-flow wiring happens either way.
- Return type:
- reci.compiler.describe_cycle_edges(cycle, edges)[source]¶
The data-flow reads that justify each
consumer -> producerhop of cycle.