From 94acf9b95ba90c5ddeeff1b53423c3fc4c6ec635 Mon Sep 17 00:00:00 2001 From: Erik Fasterius Date: Thu, 8 Feb 2024 08:18:35 +0100 Subject: [PATCH] Disallow using the Conda/Mamba profile Disallow using the Conda or Mamba profiles for the QUARTONOTEBOOK module, as the environment created differs from that created with containers. The Conda version of Quarto does not work on ARM64 architectures due to Pandoc-related issues, but installing outside Conda works in a container-context. It is thus impossible to get the same environment in a container image and using Conda, if compatibility with both AMD64 and ARM64 architectures is desired (which it is). Hopefully the issues with Conda will be solved in the future. --- .github/workflows/test.yml | 2 ++ modules/nf-core/quartonotebook/main.nf | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index db5fc5117dcb..354174ea2699 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -542,6 +542,8 @@ jobs: tags: merquryfk/merquryfk - profile: conda tags: merquryfk/ploidyplot + - profile: conda + tags: quartonotebook - profile: conda tags: sentieon/bwaindex - profile: conda diff --git a/modules/nf-core/quartonotebook/main.nf b/modules/nf-core/quartonotebook/main.nf index dddae78ffcc6..c2938f7ace94 100644 --- a/modules/nf-core/quartonotebook/main.nf +++ b/modules/nf-core/quartonotebook/main.nf @@ -8,7 +8,6 @@ process QUARTONOTEBOOK { // required dependencies for your analyses. You'll at least need Quarto // itself, Papermill and whatever language you are running your analyses on; // you can see an example in this module's Dockerfile. - conda "conda-forge::jupyter=1.0.0 conda-forge::matplotlib=3.4.3 conda-forge::papermill=2.4.0 conda-forge::quarto=1.3.433 conda-forge::r-rmarkdown=2.25" container "docker.io/erikfas/quartonotebook" input: @@ -26,12 +25,9 @@ process QUARTONOTEBOOK { task.ext.when == null || task.ext.when script: - // Exit if running this module with -profile conda / -profile mamba on ARM64 + // Exit if running this module with -profile conda / -profile mamba if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { - arch = System.getProperty("os.arch") - if (arch == "arm64" || arch == "aarch64") { - exit 1, "The QUARTONOTEBOOK module does not support Conda/Mamba on ARM64. Please use Docker / Singularity / Podman instead." - } + exit 1, "The QUARTONOTEBOOK module does not support Conda/Mamba, please use Docker / Singularity / Podman instead." } def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}"