ContextLab / ContextLab/CDL-docker-stacks

handle duplicate packages passed to installer steps

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Currently, the build will fail if, e.g., the user passes `numpy==x.y.z` to the `PIP_PACKAGES` `build-arg`, and `numpy==a.b.c` was hard-coded to be pip-installed in that step.

The solution would probably be to split to-be-installed packages into an array, find duplicates based on substrings before `=`, and prioritize to the user's version. That amount of logic shared across images would likely require writing a bash function in a separate file, adding it to the build context for `cdl-base`, and `COPY`ing it in during the `cdl-base` build. Unfortunately, there are currently no `COPY` steps in the current `cdl-base` build, so this would mean adding an a new layer to the base image and increasing the size of it _and_ all child images.

Difference may be de minimis, but not entirely clear. Will probably end up writing this either way and checking the `docker image history` for `cdl-base` images build with and without this addition to decide if it's worth it.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.