From 79dd175eb37a84471ade218fca3eb43264c8af25 Mon Sep 17 00:00:00 2001 From: Adam Talbot Date: Tue, 25 Apr 2023 12:14:54 +0100 Subject: [PATCH] Removed quay.io from all docker containers quay.io is now a pipeline-level default, so we remove it from all Docker container references. This should still build pipelines as before. --- CHANGELOG.md | 44 +++++++++++++++++++ README.md | 2 +- nf_core/download.py | 2 +- nf_core/module-template/modules/main.nf | 2 +- nf_core/modules/bump_versions.py | 2 +- nf_core/modules/lint/main_nf.py | 6 ++- .../modules/local/samplesheet_check.nf | 2 +- tests/utils.py | 2 +- 8 files changed, 55 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 923a6c1ca4..fdd85c9215 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # nf-core/tools: Changelog +# v2.8dev + +### Template + +- Turn on automatic clean up of intermediate files in `work/` on successful pipeline completion in full-test config ([#2163](https://github.com/nf-core/tools/pull/2163)) [Contributed by @jfy133] +- Add documentation to `usage.md` on how to use `params.yml` files, based on nf-core/ampliseq text ([#2173](https://github.com/nf-core/tools/pull/2173/)) [Contributed by @jfy133, @d4straub] +- Make jobs automatically resubmit for a much wider range of exit codes (now `104` and `130..145`) ([#2170](https://github.com/nf-core/tools/pull/2170)) +- Add a stale GHA wich stale + close issues and stale PRs with specific labels ([#2183](https://github.com/nf-core/tools/pull/2183)) +- Remove problematic sniffer code in samplesheet_check.py that could give false positive 'missing header' errors ([https://github.com/nf-core/tools/pull/2194]) [Contributed by @Midnighter, @jfy133] +- Consistent syntax for branch checks in PRs ([#2202](https://github.com/nf-core/tools/issues/2202)) +- Fixed minor Jinja2 templating bug that caused the PR template to miss a newline +- Updated AWS tests to use newly moved `seqeralabs/action-tower-launch` instead of `nf-core/tower-action` +- Remove `.cff` files from `.editorconfig` [(#2145)[https://github.com/nf-core/tools/pull/2145]] +- Added config `docker.registry` to pipeline template for a configurable default container registry when using Docker containers. Defaults to `quay.io` ([#2133](https://github.com/nf-core/tools/pull/2133)) +- Removed `quay.io` from all module Docker container references as this is now supplied at pipeline level. + +### Linting + +- Update modules lint test to fail if enable_conda is found ([#2213](https://github.com/nf-core/tools/pull/2213)) +- Read module lint configuration from `.nf-core.yml`, not `.nf-core-lint.yml` ([#2221](https://github.com/nf-core/tools/pull/2221)) +- `nf-core schema lint` now defaults to linting `nextflow_schema.json` if no filename is provided ([#2225](https://github.com/nf-core/tools/pull/2225)) + +### Modules + +- Add an `--empty-template` option to create a module without TODO statements or examples ([#2175](https://github.com/nf-core/tools/pull/2175) & [#2177](https://github.com/nf-core/tools/pull/2177)) +- Removed the `nf-core modules mulled` command and all its code dependencies ([2199](https://github.com/nf-core/tools/pull/2199)). +- Take into accout the provided `--git_remote` URL when linting all modules ([2243](https://github.com/nf-core/tools/pull/2243)). + +### Subworkflows + +- Fixing problem when a module included in a subworkflow had a name change from TOOL to TOOL/SUBTOOL ([#2177](https://github.com/nf-core/tools/pull/2177)) +- Fix `nf-core subworkflows test` not running subworkflow tests ([#2181](https://github.com/nf-core/tools/pull/2181)) +- Add tests for `nf-core subworkflows create-test-yml` ([#2219](https://github.com/nf-core/tools/pull/2219)) + +### General + +- `nf-core modules/subworkflows info` now prints the include statement for the module/subworkflow ([#2182](https://github.com/nf-core/tools/pull/2182)). +- Add a stale GHA wich stale + close issues and stale PRs with specific labels ([#2183](https://github.com/nf-core/tools/pull/2183)) +- update minimum version of rich to 13.3.1 ([#2185](https://github.com/nf-core/tools/pull/2185)) +- Add the Nextflow version to Gitpod container matching the minimal Nextflow version for nf-core (according to `nextflow.config`) ([#2196](https://github.com/nf-core/tools/pull/2196)) +- Use `nfcore/gitpod:dev` container in the dev branch ([#2196](https://github.com/nf-core/tools/pull/2196)) +- Replace requests_mock with responses in test mocks ([#2165](https://github.com/nf-core/tools/pull/2165)). +- Add warning when installing a module from an `org_path` that exists in multiple remotes in `modules.json` ([#2228](https://github.com/nf-core/tools/pull/2228) [#2239](https://github.com/nf-core/tools/pull/2239)). + ## [v2.7.2 - Mercury Eagle Patch](https://github.com/nf-core/tools/releases/tag/2.7.2) - [2022-12-19] ### Template diff --git a/README.md b/README.md index 73d868bb32..12d7320504 100644 --- a/README.md +++ b/README.md @@ -385,7 +385,7 @@ The Singularity image download finds containers using two methods: 2. It scrapes any files it finds with a `.nf` file extension in the workflow `modules` directory for lines that look like `container = "xxx"`. This is the typical method for DSL2 pipelines, which have one container per process. -Some DSL2 modules have container addresses for docker (eg. `quay.io/biocontainers/fastqc:0.11.9--0`) and also URLs for direct downloads of a Singularity continaer (eg. `https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0`). +Some DSL2 modules have container addresses for docker (eg. `biocontainers/fastqc:0.11.9--0`) and also URLs for direct downloads of a Singularity continaer (eg. `https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0`). Where both are found, the download URL is preferred. Once a full list of containers is found, they are processed in the following order: diff --git a/nf_core/download.py b/nf_core/download.py index 2f964b3afd..b080f956d0 100644 --- a/nf_core/download.py +++ b/nf_core/download.py @@ -432,7 +432,7 @@ def find_container_images(self): Later DSL2: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' : - 'quay.io/biocontainers/fastqc:0.11.9--0' }" + 'biocontainers/fastqc:0.11.9--0' }" DSL1 / Special case DSL2: container "nfcore/cellranger:6.0.2" diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index e8f043f083..31ef9ba8ee 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -26,7 +26,7 @@ process {{ tool_name_underscore|upper }} { conda "{{ bioconda if bioconda else 'YOUR-TOOL-HERE' }}" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? '{{ singularity_container if singularity_container else 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE' }}': - '{{ docker_container if docker_container else 'quay.io/biocontainers/YOUR-TOOL-HERE' }}' }" + '{{ docker_container if docker_container else 'biocontainers/YOUR-TOOL-HERE' }}' }" input: // TODO nf-core: Where applicable all sample-specific information e.g. "id", "single_end", "read_group" diff --git a/nf_core/modules/bump_versions.py b/nf_core/modules/bump_versions.py index 7b9702622e..ad37fc79b9 100644 --- a/nf_core/modules/bump_versions.py +++ b/nf_core/modules/bump_versions.py @@ -172,7 +172,7 @@ def bump_module_version(self, module): patterns = [ (bioconda_packages[0], f"'bioconda::{bioconda_tool_name}={last_ver}'"), - (rf"quay.io/biocontainers/{bioconda_tool_name}:[^'\"\s]+", docker_img), + (rf"biocontainers/{bioconda_tool_name}:[^'\"\s]+", docker_img), ( rf"https://depot.galaxyproject.org/singularity/{bioconda_tool_name}:[^'\"\s]+", singularity_img, diff --git a/nf_core/modules/lint/main_nf.py b/nf_core/modules/lint/main_nf.py index d44fe90f1e..8afafdfa50 100644 --- a/nf_core/modules/lint/main_nf.py +++ b/nf_core/modules/lint/main_nf.py @@ -528,5 +528,9 @@ def _container_type(line): if url_match: return "singularity" return None - if line.startswith("biocontainers/") or line.startswith("quay.io/"): + if ( + line.startswith("biocontainers/") + or line.startswith("quay.io/") + or (line.count("/") == 1 and line.count(":") == 1) + ): return "docker" diff --git a/nf_core/pipeline-template/modules/local/samplesheet_check.nf b/nf_core/pipeline-template/modules/local/samplesheet_check.nf index 5d25800775..77be6dfff4 100644 --- a/nf_core/pipeline-template/modules/local/samplesheet_check.nf +++ b/nf_core/pipeline-template/modules/local/samplesheet_check.nf @@ -5,7 +5,7 @@ process SAMPLESHEET_CHECK { conda "conda-forge::python=3.8.3" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/python:3.8.3' : - 'quay.io/biocontainers/python:3.8.3' }" + 'biocontainers/python:3.8.3' }" input: path samplesheet diff --git a/tests/utils.py b/tests/utils.py index 77e94be464..c79dff77f8 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -93,7 +93,7 @@ def mock_api_calls(mock, module, version): }, { "image_type": "Docker", - "image_name": f"quay.io/biocontainers/{module}:{version}", + "image_name": f"biocontainers/{module}:{version}", "updated": "2021-09-04T00:00:00Z", }, ],