Skip to content
Open
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
BootStrap: docker
From: {{mamba_image}}
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -10,17 +9,6 @@ Stage: build
echo ">> CONDA_LOCK_START"
cat environment.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/conda.tar.gz -C /opt conda

Bootstrap: docker
From: {{base_image}}
Stage: final
%files from build
/opt/conda.tar.gz /opt/conda.tar.gz
%post
cd /opt
tar xzf conda.tar.gz
rm conda.tar.gz
%environment
export MAMBA_ROOT_PREFIX=/opt/conda
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
BootStrap: docker
From: {{pixi_image}}
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -12,19 +11,5 @@ Stage: build
echo ">> CONDA_LOCK_START"
cat /opt/wave/pixi.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs default
ls -lh /opt/pixi-env.tar.gz

Bootstrap: docker
From: {{base_image}}
Stage: final
# install binary from stage one
%files from build
/opt/pixi-env.tar.gz /opt/pixi-env.tar.gz
/shell-hook.sh /shell-hook.sh
%post
mkdir -p /opt/wave/.pixi/envs
tar xzf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs
rm /opt/pixi-env.tar.gz
%environment
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
6 changes: 3 additions & 3 deletions src/test/groovy/io/seqera/wave/util/CondaHelperTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,10 @@ class CondaHelperTest extends Specification {
then:
result.contains('BootStrap: docker')
result.contains('From: mambaorg/micromamba:2-amazon2023')
result.contains('Stage: build')
result.contains('micromamba install -y -n base -f /scratch/conda.yml')
result.contains('Bootstrap: docker')
result.contains('From: ubuntu:24.04')
result.contains('%files')
result.contains('%post')
result.contains('%environment')
}

def 'should create v2 docker file with lock file'() {
Expand Down
7 changes: 3 additions & 4 deletions src/test/groovy/io/seqera/wave/util/PixiHelperTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,11 @@ class PixiHelperTest extends Specification {
then:
result.contains('BootStrap: docker')
result.contains('From: public.cr.seqera.io/wave/pixi:0.61.0-noble')
result.contains('Stage: build')
result.contains('pixi init --import /scratch/conda.yml')
result.contains('pixi shell-hook > /shell-hook.sh')
result.contains('Bootstrap: docker')
result.contains('From: ubuntu:24.04')
result.contains('Stage: final')
result.contains('%files')
result.contains('%post')
result.contains('%environment')
}

def 'should use custom base image'() {
Expand Down
71 changes: 1 addition & 70 deletions src/test/groovy/io/seqera/wave/util/TemplateUtilsTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -624,7 +624,6 @@ class TemplateUtilsTest extends Specification {
TemplateUtils.condaFileToSingularityFileUsingPixi(PIXI_OPTS) == '''\
BootStrap: docker
From: ghcr.io/prefix-dev/pixi:latest
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -636,20 +635,6 @@ class TemplateUtilsTest extends Specification {
echo ">> CONDA_LOCK_START"
cat /opt/wave/pixi.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs default
ls -lh /opt/pixi-env.tar.gz

Bootstrap: docker
From: ubuntu:24.04
Stage: final
# install binary from stage one
%files from build
/opt/pixi-env.tar.gz /opt/pixi-env.tar.gz
/shell-hook.sh /shell-hook.sh
%post
mkdir -p /opt/wave/.pixi/envs
tar xzf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs
rm /opt/pixi-env.tar.gz
%environment
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
'''.stripIndent()
Expand All @@ -660,7 +645,6 @@ class TemplateUtilsTest extends Specification {
TemplateUtils.condaFileToSingularityFileUsingPixi(new PixiOpts([:])) == '''\
BootStrap: docker
From: public.cr.seqera.io/wave/pixi:0.61.0-noble
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -672,20 +656,6 @@ class TemplateUtilsTest extends Specification {
echo ">> CONDA_LOCK_START"
cat /opt/wave/pixi.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs default
ls -lh /opt/pixi-env.tar.gz

Bootstrap: docker
From: ubuntu:24.04
Stage: final
# install binary from stage one
%files from build
/opt/pixi-env.tar.gz /opt/pixi-env.tar.gz
/shell-hook.sh /shell-hook.sh
%post
mkdir -p /opt/wave/.pixi/envs
tar xzf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs
rm /opt/pixi-env.tar.gz
%environment
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
'''.stripIndent()
Expand All @@ -703,7 +673,6 @@ class TemplateUtilsTest extends Specification {
TemplateUtils.condaFileToSingularityFileUsingPixi(PIXI_OPTS) == '''\
BootStrap: docker
From: ghcr.io/prefix-dev/pixi:0.35.0
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -714,20 +683,6 @@ class TemplateUtilsTest extends Specification {
echo ">> CONDA_LOCK_START"
cat /opt/wave/pixi.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs default
ls -lh /opt/pixi-env.tar.gz

Bootstrap: docker
From: debian:12
Stage: final
# install binary from stage one
%files from build
/opt/pixi-env.tar.gz /opt/pixi-env.tar.gz
/shell-hook.sh /shell-hook.sh
%post
mkdir -p /opt/wave/.pixi/envs
tar xzf /opt/pixi-env.tar.gz -C /opt/wave/.pixi/envs
rm /opt/pixi-env.tar.gz
%environment
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
'''.stripIndent()
Expand Down Expand Up @@ -778,7 +733,6 @@ class TemplateUtilsTest extends Specification {
TemplateUtils.condaFileToSingularityFileV2(CONDA_OPTS) == '''\
BootStrap: docker
From: mambaorg/micromamba:2.1.1
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -788,21 +742,10 @@ class TemplateUtilsTest extends Specification {
echo ">> CONDA_LOCK_START"
cat environment.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/conda.tar.gz -C /opt conda

Bootstrap: docker
From: ubuntu:24.04
Stage: final
%files from build
/opt/conda.tar.gz /opt/conda.tar.gz
%post
cd /opt
tar xzf conda.tar.gz
rm conda.tar.gz
%environment
export MAMBA_ROOT_PREFIX=/opt/conda
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
'''.stripIndent()
'''.stripIndent()

}

Expand All @@ -811,7 +754,6 @@ class TemplateUtilsTest extends Specification {
TemplateUtils.condaFileToSingularityFileV2(new CondaOpts([:])) == '''\
BootStrap: docker
From: mambaorg/micromamba:1.5.10-noble
Stage: build
%files
{{wave_context_dir}}/conda.yml /scratch/conda.yml
%post
Expand All @@ -821,17 +763,6 @@ class TemplateUtilsTest extends Specification {
echo ">> CONDA_LOCK_START"
cat environment.lock
echo "<< CONDA_LOCK_END"
tar czf /opt/conda.tar.gz -C /opt conda

Bootstrap: docker
From: ubuntu:24.04
Stage: final
%files from build
/opt/conda.tar.gz /opt/conda.tar.gz
%post
cd /opt
tar xzf conda.tar.gz
rm conda.tar.gz
%environment
export MAMBA_ROOT_PREFIX=/opt/conda
export PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
Expand Down
Loading