Open MattWellie opened 1 year ago
@VJalili I've made a PR in our fork of this codebase, removing the duplication whereby the same image is referred to by multiple names - I'm still testing it but so far so good 😬
@MattWellie that is a substantial refactoring! I hope it passes all your tests.
dockerfiles/sv-pipeline/Dockerfile
encodes a single image, but it is referred to in both the WDL files and dockers.json by all these various names.Proposal?
- Remove all many-to-one labels in the dockers.json, and ensure that throughout the WDL files each image is only referenced by a single key
Agree; it is confusing and adds unneeded complexities for configuring the workflows.
This is addressed in PRs #634, #638, #639, and #645.
Feature request
Slightly relevant to #513
Module(s) or script(s) involved
scripts/docker/build_docker.py inputs/values/dockers.json
Description
Apologies if this is a somewhat messy issue, I'll aim to revisit and polish.
We are currently trying to adopt GATK-SV into our own workflows, and to absorb all cost for this we want to build local versions of each relevant Docker image from scratch.
I've noticed a few idiosyncrasies in the
build_docker.py
script (some of which may be caused by my incorrect parsing of the process. If there is relevant documentation to mitigate these points please could you direct me to it!):dockers.json
file which images are built by this repo, and which images we would need to copy in from a public hostdockers.json
dictionary. This makes it challenging to generate a usabledockers.json
without bootstrapping from your existing files:key
(e.g.samtools-cloud
)dockers.json
file, thekey
to use is determined by the method get_target_from_image. This method determines each image'skey
based on thecurrent docker image path
, rather than thekey
in the dependencies matrix, or the named directory where each Dockerfile is found, e.g.dependency matrix entry
dependencies = { "samtools-cloud": ImageDependencies( git_dependencies="dockerfiles/samtools-cloud/*", docker_dependencies={ "sv-base-mini": "MINIBASE_IMAGE", "samtools-cloud-virtual-env": "VIRTUAL_ENV_IMAGE"} ) }
key definition
get_target_from_image("artifactory/samtools-cloud:tag") == 'samtools_cloud_docker'
"sv_pipeline_base_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63", "sv_pipeline_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63", "sv_pipeline_hail_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63", "sv_pipeline_updates_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63", "sv_pipeline_qc_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63", "sv_pipeline_rdtest_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/sv-pipeline:2023-03-07-v0.26.10-beta-0c876f63"