From 2c5cba0a0c6ca6fabeefe011050eb765ceca3e28 Mon Sep 17 00:00:00 2001 From: Paolo Di Tommaso Date: Wed, 30 Sep 2026 20:00:31 +0200 Subject: [PATCH 1/3] Add conda/micromamba:v3 to the wave.build.template docs Wave adds a conda/micromamba:v3 build template, which splits the Conda environment into multiple image layers of at most 512 MB. Nextflow passes wave.build.template to Wave as is, so this documents the new value in the config option, the config reference and the Wave page. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Paolo Di Tommaso --- docs/reference/config/wave.mdx | 11 ++++++----- docs/wave.mdx | 3 ++- .../io/seqera/wave/plugin/config/WaveConfig.groovy | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/reference/config/wave.mdx b/docs/reference/config/wave.mdx index 9bd286bd03..01d347e559 100644 --- a/docs/reference/config/wave.mdx +++ b/docs/reference/config/wave.mdx @@ -73,7 +73,7 @@ Forcefully apply compression option to all layers, including already existing la -The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2` or `conda/pixi:v1`. +The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2`, `conda/micromamba:v3` or `conda/pixi:v1`. ##### `wave.build.conda.basePackages` @@ -99,10 +99,11 @@ The corresponding credentials must be provided in your Seqera Platform account. The build template to use for container builds (default: `conda/micromamba:v1`). Supported values: -- `conda/micromamba:v1`Standard Micromamba 1.x single-stage build. Default when unspecified. -- `conda/micromamba:v2`Micromamba 2.x with multi-stage builds. -- `conda/pixi:v1`Pixi package manager with multi-stage builds for optimized image sizes. -- `cran/installr:v1`R/CRAN packages using installr. +- `conda/micromamba:v1`: Standard Micromamba 1.x single-stage build. Default when unspecified. +- `conda/micromamba:v2`: Micromamba 2.x with multi-stage builds. +- `conda/micromamba:v3`: Micromamba 2.x with multi-stage builds, and the Conda environment split into multiple image layers of at most 512 MB. Docker images only. +- `conda/pixi:v1`: Pixi package manager with multi-stage builds for optimized image sizes. +- `cran/installr:v1`: R/CRAN packages using installr. Multi-stage templates produce smaller images by excluding build tools from the final image. diff --git a/docs/wave.mdx b/docs/wave.mdx index 4a3fcce442..011cbffbb9 100644 --- a/docs/wave.mdx +++ b/docs/wave.mdx @@ -97,7 +97,7 @@ Packages from the [Python Package Index](https://pypi.org/) can also be added to Wave supports different build templates for creating container images from Conda packages. Build templates control how packages are installed and how the final container image is structured. -Multi-stage build templates (`conda/pixi:v1` and `conda/micromamba:v2`) offer several advantages: +Multi-stage build templates (`conda/pixi:v1`, `conda/micromamba:v2` and `conda/micromamba:v3`) offer several advantages: - **Smaller images**: Build tools and package managers are excluded from the final image (30-50% size reduction typical). - **Reproducibility**: Lock files are generated for exact package version tracking. @@ -117,6 +117,7 @@ Available templates: |----------|-------------| | `conda/micromamba:v1` | Standard Micromamba 1.x single-stage build. The final image includes the package manager. Default when unspecified. | | `conda/micromamba:v2` | Multi-stage build using Micromamba 2.x. Produces smaller images without the package manager. | +| `conda/micromamba:v3` | Like `conda/micromamba:v2`, with the Conda environment split into multiple image layers grouped by package, each at most 512 MB. Use it when a registry or proxy rejects large layers, or to speed up pulls. Docker images only. | | `conda/pixi:v1` | Multi-stage build using [Pixi](https://pixi.sh/) package manager. Produces smaller images with faster dependency resolution. | | `cran/installr:v1` | Build template for R/CRAN packages using installr. | diff --git a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy index 7f27b2e3a8..ad9f366e4e 100644 --- a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy +++ b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy @@ -280,7 +280,7 @@ class WaveBuildConfig implements ConfigScope { @ConfigOption @Description(""" - The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. + The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `conda/micromamba:v3` (like `conda/micromamba:v2`, with the Conda environment split into multiple image layers, Docker only), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. """) final String template @@ -329,7 +329,7 @@ class WaveBuildCondaConfig implements ConfigScope { @ConfigOption @Description(""" - The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2` or `conda/pixi:v1`. + The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2`, `conda/micromamba:v3` or `conda/pixi:v1`. """) final String baseImage From 6b6ceeb5b0374e081890945aac8ccd8c6bce462c Mon Sep 17 00:00:00 2001 From: Paolo Di Tommaso Date: Fri, 2 Oct 2026 17:35:03 +0200 Subject: [PATCH 2/3] Rename the Wave conda/micromamba:v3 template to conda/micromamba:v2-fast Co-Authored-By: Claude Opus 5.5 Signed-off-by: Paolo Di Tommaso --- docs/reference/config/wave.mdx | 4 ++-- docs/wave.mdx | 4 ++-- .../src/main/io/seqera/wave/plugin/config/WaveConfig.groovy | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/reference/config/wave.mdx b/docs/reference/config/wave.mdx index 01d347e559..512755b6c2 100644 --- a/docs/reference/config/wave.mdx +++ b/docs/reference/config/wave.mdx @@ -73,7 +73,7 @@ Forcefully apply compression option to all layers, including already existing la -The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2`, `conda/micromamba:v3` or `conda/pixi:v1`. +The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2`, `conda/micromamba:v2-fast` or `conda/pixi:v1`. ##### `wave.build.conda.basePackages` @@ -101,7 +101,7 @@ The build template to use for container builds (default: `conda/micromamba:v1`). - `conda/micromamba:v1`: Standard Micromamba 1.x single-stage build. Default when unspecified. - `conda/micromamba:v2`: Micromamba 2.x with multi-stage builds. -- `conda/micromamba:v3`: Micromamba 2.x with multi-stage builds, and the Conda environment split into multiple image layers of at most 512 MB. Docker images only. +- `conda/micromamba:v2-fast`: Micromamba 2.x with multi-stage builds, and the Conda environment split into multiple image layers of at most 512 MB. Docker images only. - `conda/pixi:v1`: Pixi package manager with multi-stage builds for optimized image sizes. - `cran/installr:v1`: R/CRAN packages using installr. diff --git a/docs/wave.mdx b/docs/wave.mdx index 011cbffbb9..26172f68e8 100644 --- a/docs/wave.mdx +++ b/docs/wave.mdx @@ -97,7 +97,7 @@ Packages from the [Python Package Index](https://pypi.org/) can also be added to Wave supports different build templates for creating container images from Conda packages. Build templates control how packages are installed and how the final container image is structured. -Multi-stage build templates (`conda/pixi:v1`, `conda/micromamba:v2` and `conda/micromamba:v3`) offer several advantages: +Multi-stage build templates (`conda/pixi:v1`, `conda/micromamba:v2` and `conda/micromamba:v2-fast`) offer several advantages: - **Smaller images**: Build tools and package managers are excluded from the final image (30-50% size reduction typical). - **Reproducibility**: Lock files are generated for exact package version tracking. @@ -117,7 +117,7 @@ Available templates: |----------|-------------| | `conda/micromamba:v1` | Standard Micromamba 1.x single-stage build. The final image includes the package manager. Default when unspecified. | | `conda/micromamba:v2` | Multi-stage build using Micromamba 2.x. Produces smaller images without the package manager. | -| `conda/micromamba:v3` | Like `conda/micromamba:v2`, with the Conda environment split into multiple image layers grouped by package, each at most 512 MB. Use it when a registry or proxy rejects large layers, or to speed up pulls. Docker images only. | +| `conda/micromamba:v2-fast` | Like `conda/micromamba:v2`, with the Conda environment split into multiple image layers grouped by package, each at most 512 MB. Use it when a registry or proxy rejects large layers, or to speed up pulls. Docker images only. | | `conda/pixi:v1` | Multi-stage build using [Pixi](https://pixi.sh/) package manager. Produces smaller images with faster dependency resolution. | | `cran/installr:v1` | Build template for R/CRAN packages using installr. | diff --git a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy index ad9f366e4e..1de087581a 100644 --- a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy +++ b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy @@ -280,7 +280,7 @@ class WaveBuildConfig implements ConfigScope { @ConfigOption @Description(""" - The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `conda/micromamba:v3` (like `conda/micromamba:v2`, with the Conda environment split into multiple image layers, Docker only), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. + The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `conda/micromamba:v2-fast` (like `conda/micromamba:v2`, with the Conda environment split into multiple image layers, Docker only), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. """) final String template @@ -329,7 +329,7 @@ class WaveBuildCondaConfig implements ConfigScope { @ConfigOption @Description(""" - The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2`, `conda/micromamba:v3` or `conda/pixi:v1`. + The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2`, `conda/micromamba:v2-fast` or `conda/pixi:v1`. """) final String baseImage From 7c0aa79acd66b9982f2a45d28aa8344981c6d39f Mon Sep 17 00:00:00 2001 From: Paolo Di Tommaso Date: Mon, 5 Oct 2026 14:46:43 +0200 Subject: [PATCH 3/3] Add conda/pixi:v1-fast to the wave.build.template docs Signed-off-by: Paolo Di Tommaso Co-Authored-By: Claude Opus 5.5 --- docs/reference/config/wave.mdx | 3 ++- docs/wave.mdx | 3 ++- .../src/main/io/seqera/wave/plugin/config/WaveConfig.groovy | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/reference/config/wave.mdx b/docs/reference/config/wave.mdx index 512755b6c2..5284e7ddcd 100644 --- a/docs/reference/config/wave.mdx +++ b/docs/reference/config/wave.mdx @@ -73,7 +73,7 @@ Forcefully apply compression option to all layers, including already existing la -The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2`, `conda/micromamba:v2-fast` or `conda/pixi:v1`. +The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when using `wave.build.template` set to `conda/micromamba:v2`, `conda/micromamba:v2-fast`, `conda/pixi:v1` or `conda/pixi:v1-fast`. ##### `wave.build.conda.basePackages` @@ -103,6 +103,7 @@ The build template to use for container builds (default: `conda/micromamba:v1`). - `conda/micromamba:v2`: Micromamba 2.x with multi-stage builds. - `conda/micromamba:v2-fast`: Micromamba 2.x with multi-stage builds, and the Conda environment split into multiple image layers of at most 512 MB. Docker images only. - `conda/pixi:v1`: Pixi package manager with multi-stage builds for optimized image sizes. +- `conda/pixi:v1-fast`: Pixi package manager with multi-stage builds, and the Conda environment split into multiple image layers of at most 512 MB. Docker images only. - `cran/installr:v1`: R/CRAN packages using installr. Multi-stage templates produce smaller images by excluding build tools from the final image. diff --git a/docs/wave.mdx b/docs/wave.mdx index 26172f68e8..a1ddd48e7a 100644 --- a/docs/wave.mdx +++ b/docs/wave.mdx @@ -97,7 +97,7 @@ Packages from the [Python Package Index](https://pypi.org/) can also be added to Wave supports different build templates for creating container images from Conda packages. Build templates control how packages are installed and how the final container image is structured. -Multi-stage build templates (`conda/pixi:v1`, `conda/micromamba:v2` and `conda/micromamba:v2-fast`) offer several advantages: +Multi-stage build templates (`conda/pixi:v1`, `conda/pixi:v1-fast`, `conda/micromamba:v2` and `conda/micromamba:v2-fast`) offer several advantages: - **Smaller images**: Build tools and package managers are excluded from the final image (30-50% size reduction typical). - **Reproducibility**: Lock files are generated for exact package version tracking. @@ -119,6 +119,7 @@ Available templates: | `conda/micromamba:v2` | Multi-stage build using Micromamba 2.x. Produces smaller images without the package manager. | | `conda/micromamba:v2-fast` | Like `conda/micromamba:v2`, with the Conda environment split into multiple image layers grouped by package, each at most 512 MB. Use it when a registry or proxy rejects large layers, or to speed up pulls. Docker images only. | | `conda/pixi:v1` | Multi-stage build using [Pixi](https://pixi.sh/) package manager. Produces smaller images with faster dependency resolution. | +| `conda/pixi:v1-fast` | Like `conda/pixi:v1`, with the Conda environment split into multiple image layers grouped by package, each at most 512 MB. Use it when a registry or proxy rejects large layers, or to speed up pulls. Docker images only. | | `cran/installr:v1` | Build template for R/CRAN packages using installr. | When `wave.build.template` is not specified, Wave uses the standard `conda/micromamba:v1` template. diff --git a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy index 1de087581a..313bc96db9 100644 --- a/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy +++ b/plugins/nf-wave/src/main/io/seqera/wave/plugin/config/WaveConfig.groovy @@ -280,7 +280,7 @@ class WaveBuildConfig implements ConfigScope { @ConfigOption @Description(""" - The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `conda/micromamba:v2-fast` (like `conda/micromamba:v2`, with the Conda environment split into multiple image layers, Docker only), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. + The build template to use for container builds. Supported values: `conda/pixi:v1` (Pixi with multi-stage builds), `conda/pixi:v1-fast` (like `conda/pixi:v1`, with the Conda environment split into multiple image layers, Docker only), `conda/micromamba:v2` (Micromamba 2.x with multi-stage builds), `conda/micromamba:v2-fast` (like `conda/micromamba:v2`, with the Conda environment split into multiple image layers, Docker only), `cran/installr:v1` (R/CRAN packages). Default: standard conda/micromamba:v1 template. """) final String template @@ -329,7 +329,7 @@ class WaveBuildCondaConfig implements ConfigScope { @ConfigOption @Description(""" - The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2`, `conda/micromamba:v2-fast` or `conda/pixi:v1`. + The base image for the final stage in multi-stage Conda container builds (default: `ubuntu:24.04`). This option only applies when `wave.build.template` is set to `conda/micromamba:v2`, `conda/micromamba:v2-fast`, `conda/pixi:v1` or `conda/pixi:v1-fast`. """) final String baseImage