diff --git a/README.md b/README.md index b405166..539d79e 100644 --- a/README.md +++ b/README.md @@ -124,9 +124,11 @@ docker run $container bamtools --version ``` Available build templates: -- `conda/micromamba:v1` - Default Conda build using Micromamba 1.x -- `conda/micromamba:v2` - Multi-stage build using Micromamba 2.x +- `conda/micromamba:v1` - Single-stage build using Micromamba 1.x +- `conda/micromamba:v2` - Multi-stage build using Micromamba 2.x (default for Conda packages) +- `conda/micromamba:v2-fast` - Like `conda/micromamba:v2`, with the Conda environment split into multiple image layers grouped by package, each under 512 MB. Docker images only - `conda/pixi:v1` - Multi-stage build using Pixi package manager +- `conda/pixi:v1-fast` - Like `conda/pixi:v1`, with the Conda environment split into multiple image layers grouped by package, each under 512 MB. Docker images only - `cran/installr:v1` - Build template for CRAN/R packages #### Build a container by using a Conda environment file diff --git a/app/src/main/java/io/seqera/wave/cli/App.java b/app/src/main/java/io/seqera/wave/cli/App.java index 27268a0..bfd503d 100644 --- a/app/src/main/java/io/seqera/wave/cli/App.java +++ b/app/src/main/java/io/seqera/wave/cli/App.java @@ -232,7 +232,7 @@ public class App implements Runnable { @Option(names = {"--build-compression"}, paramLabel = "", description = "Specify the compression algorithm to be used for the build context, it can be 'gzip', 'zstd' or 'estargz'") private BuildCompression.Mode buildCompression; - @Option(names = {"--build-template"}, paramLabel = "", description = "Specify the build template to be used for building the container, e.g. 'conda/pixi:v1', 'conda/micromamba:v1', 'conda/micromamba:v2', 'cran/installr:v1'") + @Option(names = {"--build-template"}, paramLabel = "", description = "Specify the build template to be used for building the container, e.g. 'conda/pixi:v1', 'conda/pixi:v1-fast', 'conda/micromamba:v1', 'conda/micromamba:v2', 'conda/micromamba:v2-fast', 'cran/installr:v1'") private String buildTemplate; public static void main(String[] args) { diff --git a/app/src/test/groovy/io/seqera/wave/cli/AppTest.groovy b/app/src/test/groovy/io/seqera/wave/cli/AppTest.groovy index e809bb5..b4ea45a 100644 --- a/app/src/test/groovy/io/seqera/wave/cli/AppTest.groovy +++ b/app/src/test/groovy/io/seqera/wave/cli/AppTest.groovy @@ -348,17 +348,20 @@ class AppTest extends Specification { req.buildTemplate == 'conda/pixi:v1' } - def 'should set build template micromamba' () { + def 'should set build template #TEMPLATE' () { given: def app = new App() - String[] args = ["--build-template", 'conda/micromamba:v2'] + String[] args = ["--build-template", TEMPLATE] when: new CommandLine(app).parseArgs(args) and: def req = app.createRequest() then: - req.buildTemplate == 'conda/micromamba:v2' + req.buildTemplate == TEMPLATE + + where: + TEMPLATE << ['conda/micromamba:v2', 'conda/micromamba:v2-fast', 'conda/pixi:v1-fast'] } def 'should not allow dry-run and await' () {