diff --git a/src/main/resources/templates/conda-micromamba-v1/dockerfile-conda-file.txt b/src/main/resources/templates/conda-micromamba-v1/dockerfile-conda-file.txt index 7ca63ccec7..8da044c6f1 100644 --- a/src/main/resources/templates/conda-micromamba-v1/dockerfile-conda-file.txt +++ b/src/main/resources/templates/conda-micromamba-v1/dockerfile-conda-file.txt @@ -2,7 +2,8 @@ FROM {{base_image}} COPY --chown=$MAMBA_USER:$MAMBA_USER conda.yml /tmp/conda.yml RUN micromamba install -y -n base -f /tmp/conda.yml \ {{base_packages}} - && micromamba env export --name base --explicit > environment.lock \ + && micromamba install -y -n base conda-forge::conda-lock \ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \ && echo ">> CONDA_LOCK_START" \ && cat environment.lock \ && echo "<< CONDA_LOCK_END" \ diff --git a/src/main/resources/templates/conda-micromamba-v1/singularityfile-conda-file.txt b/src/main/resources/templates/conda-micromamba-v1/singularityfile-conda-file.txt index 08eb6d529c..24be3fe7a2 100644 --- a/src/main/resources/templates/conda-micromamba-v1/singularityfile-conda-file.txt +++ b/src/main/resources/templates/conda-micromamba-v1/singularityfile-conda-file.txt @@ -5,7 +5,8 @@ From: {{base_image}} %post micromamba install -y -n base -f /scratch/conda.yml {{base_packages}} - micromamba env export --name base --explicit > environment.lock + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" diff --git a/src/main/resources/templates/conda-micromamba-v2/dockerfile-conda-file.txt b/src/main/resources/templates/conda-micromamba-v2/dockerfile-conda-file.txt index 05a980b572..7d5e9dbb57 100644 --- a/src/main/resources/templates/conda-micromamba-v2/dockerfile-conda-file.txt +++ b/src/main/resources/templates/conda-micromamba-v2/dockerfile-conda-file.txt @@ -5,8 +5,9 @@ RUN (micromamba install -y -n base -f /tmp/conda.yml > /tmp/mamba.log 2>&1 \ || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \ {{base_packages}} + && micromamba install -y -n base conda-forge::conda-lock \ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \ && micromamba clean -a -y \ - && micromamba env export --name base --explicit > environment.lock \ && echo ">> CONDA_LOCK_START" \ && cat environment.lock \ && echo "<< CONDA_LOCK_END" diff --git a/src/main/resources/templates/conda-micromamba-v2/singularityfile-conda-file.txt b/src/main/resources/templates/conda-micromamba-v2/singularityfile-conda-file.txt index a5ab35211e..74bc9114b7 100644 --- a/src/main/resources/templates/conda-micromamba-v2/singularityfile-conda-file.txt +++ b/src/main/resources/templates/conda-micromamba-v2/singularityfile-conda-file.txt @@ -8,8 +8,9 @@ From: {{mamba_image}} || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /scratch/conda.yml) {{base_packages}} + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock micromamba clean -a -y - micromamba env export --name base --explicit > environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" diff --git a/src/test/groovy/io/seqera/wave/util/ContainerHelperTest.groovy b/src/test/groovy/io/seqera/wave/util/ContainerHelperTest.groovy index 087669f1cc..46338cefbe 100644 --- a/src/test/groovy/io/seqera/wave/util/ContainerHelperTest.groovy +++ b/src/test/groovy/io/seqera/wave/util/ContainerHelperTest.groovy @@ -123,7 +123,8 @@ class ContainerHelperTest extends Specification { %post micromamba install -y -n base -f /scratch/conda.yml micromamba install -y -n base foo::one bar::two - micromamba env export --name base --explicit > environment.lock + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" @@ -150,7 +151,8 @@ class ContainerHelperTest extends Specification { COPY --chown=$MAMBA_USER:$MAMBA_USER conda.yml /tmp/conda.yml RUN micromamba install -y -n base -f /tmp/conda.yml \\ && micromamba install -y -n base foo::one bar::two \\ - && micromamba env export --name base --explicit > environment.lock \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" \\ @@ -736,8 +738,9 @@ class ContainerHelperTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \\ && micromamba install -y -n base conda-forge::procps-ng \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && micromamba clean -a -y \\ - && micromamba env export --name base --explicit > environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" @@ -774,8 +777,9 @@ class ContainerHelperTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \\ && micromamba install -y -n base conda-forge::procps-ng \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && micromamba clean -a -y \\ - && micromamba env export --name base --explicit > environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" @@ -817,8 +821,9 @@ class ContainerHelperTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \\ && micromamba install -y -n base foo::one bar::two \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && micromamba clean -a -y \\ - && micromamba env export --name base --explicit > environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" diff --git a/src/test/groovy/io/seqera/wave/util/TemplateUtilsTest.groovy b/src/test/groovy/io/seqera/wave/util/TemplateUtilsTest.groovy index eb3f3d1252..97ec7b6c29 100644 --- a/src/test/groovy/io/seqera/wave/util/TemplateUtilsTest.groovy +++ b/src/test/groovy/io/seqera/wave/util/TemplateUtilsTest.groovy @@ -37,7 +37,8 @@ class TemplateUtilsTest extends Specification { COPY --chown=$MAMBA_USER:$MAMBA_USER conda.yml /tmp/conda.yml RUN micromamba install -y -n base -f /tmp/conda.yml \\ && micromamba install -y -n base foo::bar \\ - && micromamba env export --name base --explicit > environment.lock \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" \\ @@ -55,7 +56,8 @@ class TemplateUtilsTest extends Specification { COPY --chown=$MAMBA_USER:$MAMBA_USER conda.yml /tmp/conda.yml RUN micromamba install -y -n base -f /tmp/conda.yml \\ && micromamba install -y -n base conda-forge::procps-ng \\ - && micromamba env export --name base --explicit > environment.lock \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" \\ @@ -196,7 +198,8 @@ class TemplateUtilsTest extends Specification { %post micromamba install -y -n base -f /scratch/conda.yml micromamba install -y -n base foo::bar=1.0 - micromamba env export --name base --explicit > environment.lock + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" @@ -217,7 +220,8 @@ class TemplateUtilsTest extends Specification { %post micromamba install -y -n base -f /scratch/conda.yml micromamba install -y -n base conda-forge::procps-ng - micromamba env export --name base --explicit > environment.lock + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" @@ -488,8 +492,9 @@ class TemplateUtilsTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \\ && micromamba install -y -n base conda-forge::procps-ng \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && micromamba clean -a -y \\ - && micromamba env export --name base --explicit > environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" @@ -513,8 +518,9 @@ class TemplateUtilsTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /tmp/conda.yml)) \\ && micromamba install -y -n base conda-forge::procps-ng \\ + && micromamba install -y -n base conda-forge::conda-lock \\ + && micromamba run -n base conda-lock --file /tmp/conda.yml --platform linux-64 --lockfile environment.lock \\ && micromamba clean -a -y \\ - && micromamba env export --name base --explicit > environment.lock \\ && echo ">> CONDA_LOCK_START" \\ && cat environment.lock \\ && echo "<< CONDA_LOCK_END" @@ -774,8 +780,9 @@ class TemplateUtilsTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /scratch/conda.yml) micromamba install -y -n base conda-forge::procps-ng + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock micromamba clean -a -y - micromamba env export --name base --explicit > environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END" @@ -799,8 +806,9 @@ class TemplateUtilsTest extends Specification { || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \\ && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base -f /scratch/conda.yml) micromamba install -y -n base conda-forge::procps-ng + micromamba install -y -n base conda-forge::conda-lock + micromamba run -n base conda-lock --file /scratch/conda.yml --platform linux-64 --lockfile environment.lock micromamba clean -a -y - micromamba env export --name base --explicit > environment.lock echo ">> CONDA_LOCK_START" cat environment.lock echo "<< CONDA_LOCK_END"