On this page
Pipeline protocol defining the formal interface that all pipeline implementations must satisfy for publishing, asset building, and scaffolding.
#rlsbl.pipelines.protocol
#rlsbl.pipelines.protocol
Pipeline protocol defining the formal interface that all pipeline implementations must satisfy for publishing, asset building, and scaffolding.
#Pipeline
Protocol defining a release pipeline.
Pipelines handle publishing, asset building, and CI template generation for a specific publish mechanism (e.g. pypi, npm, docker, cloudflare-pages).
#publish
def publish(self, dir_path: str, version: str, ctx) -> NonePublish the package at version from dir_path.
#build_assets
def build_assets(self, dir_path: str, version: str, dist_dir: str, ctx) -> list[str]Build release assets into dist_dir and return their paths.
#template_dir
def template_dir(self) -> str | NoneReturn the directory containing CI workflow templates, or None.
#template_mappings
def template_mappings(self, ctx) -> list[dict[str, str]]Return template-to-target path mappings for CI scaffold.
#required_env_vars
def required_env_vars(self) -> list[str]Return env var names required for local publishing.
#ci_secret_names
def ci_secret_names(self) -> list[str]Return the repository secrets the CI publish job authenticates with.