reci.validation.rules.dag¶
DAG structure validation rules (DAG001–DAG004).
Functions
|
Detect cycles in the dependency graph. |
|
Data flow between jobs must not make their |
|
Flag duplicate output names within a job (at the job output level). |
|
Flag nodes with no data connections (no outputs consumed, no inputs from graph). |
|
|
|
A recipe job uses the id of the generated |
- reci.validation.rules.dag.check_cycles(graph, config)[source]¶
Detect cycles in the dependency graph.
- reci.validation.rules.dag.check_data_flow_needs_cycles(graph, config)[source]¶
Data flow between jobs must not make their
needsform a cycle.The compiler adds a
needsedge from every consumer job to the job that produces an output it reads. Combined with explicitneeds:(or with the reverse flow) that can close a loop, which GitHub rejects. A cycle made of explicitneeds:alone is DAG001’s.
- reci.validation.rules.dag.check_duplicate_outputs(graph, config)[source]¶
Flag duplicate output names within a job (at the job output level).
- reci.validation.rules.dag.check_isolated_nodes(graph, config)[source]¶
Flag nodes with no data connections (no outputs consumed, no inputs from graph).