Two pipeline recipes still shell out to source files by repo-relative path:
pipeline.Makefile:252 $(RUN) python src/dm_bip/cleaners/prepare_input.py
pipeline.Makefile:371 ./src/dm_bip/cleaners/extract_conditions.sh
Everything else goes through python -m dm_bip..... Those two exceptions mean any environment running the pipeline needs the source tree laid out exactly as the repo has it, not just dm-bip installed. That is why the container does COPY . ./ and carries tests, toy data, and BDC workflow scripts along with the code it actually runs.
Intended outcome: the pipeline invokes its own code the same way everywhere, and a runtime environment needs the installed package plus the two Makefiles rather than a copy of the repo.
Worth doing on its own — it makes the image smaller and the packaging story simpler — and it is a prerequisite for splitting the container image.
Two pipeline recipes still shell out to source files by repo-relative path:
Everything else goes through
python -m dm_bip..... Those two exceptions mean any environment running the pipeline needs the source tree laid out exactly as the repo has it, not just dm-bip installed. That is why the container doesCOPY . ./and carries tests, toy data, and BDC workflow scripts along with the code it actually runs.Intended outcome: the pipeline invokes its own code the same way everywhere, and a runtime environment needs the installed package plus the two Makefiles rather than a copy of the repo.
Worth doing on its own — it makes the image smaller and the packaging story simpler — and it is a prerequisite for splitting the container image.