rlsbl v0.113.0 /rlsbl.pipelines
On this page

Pipeline registry that maps type strings from config.json to concrete pipeline classes, enabling config-driven publish orchestration across ecosystems.

#rlsbl.pipelines

#rlsbl.pipelines

Pipeline registry that maps type strings from config.json to concrete pipeline classes, enabling config-driven publish orchestration across ecosystems.

#load_pipelines

python
def load_pipelines(config: dict) -> dict[str, 'Pipeline']

Instantiate pipelines from the project config's pipelines section.

Each entry in config["pipelines"] is a dict with at least type and local keys. The type is looked up in PIPELINE_TYPES to find the class, which is instantiated with the pipeline name, type, local flag, and full entry config.

The explicit target link field is parsed and stored on each pipeline instance as the target attribute (a target name string, or None for a targetless publisher). Absent means None here -- presence is enforced by validate_pipeline_target_links, not by this loader.

Returns a dict mapping pipeline names to pipeline instances. Returns an empty dict if no pipelines key exists in the config.

A pipelines value that is present but not a map is a hard ConfigError here, at the chokepoint every caller goes through. It used to be diagnosed only by validate_pipelines_config -- which the release flow never called -- so a scalar reached this loop and died on .items(), mid-preflight, with an AttributeError naming no config key at all.

Search