Skip to content

Move bdc-workflow.sh entrypoint logic to Python #297

@amc-corey-cox

Description

@amc-corey-cox

Problem

The BDC workflow entrypoint (scripts/workflow/bdc-workflow.sh) has grown to include slug parsing, input validation, path auto-detection, and git operations — all untestable in the current bash form. We can only verify this logic by running full SB tasks.

Proposal

Replace bdc-workflow.sh with a thin bash stub that calls uv run python on a Python module within the repo. The stub handles only stderr capture and delegates everything else to testable Python code.

The Python module would cover: arg parsing, slug parsing/validation, repo clone/checkout, trans-spec path resolution, and make pipeline invocation. Each piece gets unit tests.

The uv environment is pre-built in the container (uv sync --frozen at build time), so uv run at runtime has negligible overhead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions