Skip to content

Commit 54e37e4

Browse files
authored
Merge branch 'dev' into issues/3751-codespaces-badge
2 parents 9052768 + fc5a933 commit 54e37e4

File tree

18 files changed

+129
-51
lines changed

18 files changed

+129
-51
lines changed

.devcontainer/build-devcontainer/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ FROM "mcr.microsoft.com/devcontainers/miniconda@sha256:8e262a2664fab1d53054738d3
55
# copy this repo at current revision
66
COPY . /root/nfcore-tools/
77

8-
# Explicitly reinstall python 3.14 via conda
8+
# Explicitly reinstall python 3.13 via conda
99
# install local nf-core tools version, and precommit hooks
1010
RUN cd /root/nfcore-tools/ && \
11-
conda install -y python=3.14 && \
11+
conda install -y python=3.13 && \
1212
pip install --no-cache-dir --upgrade pip setuptools wheel pre-commit && \
1313
pip install -r requirements.txt --no-cache-dir -e . && \
1414
pre-commit install --install-hooks && \

.github/RELEASE_CHECKLIST.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
2. Most importantly, pick an undeniably outstanding [name](http://www.codenamegenerator.com/) for the release where _Prefix_ = _Metal_ and _Dictionary_ = _Animal_.
55
3. Check the [pipeline health page](https://nf-co.re/pipeline_health) to make sure that all repos look sane (missing `TEMPLATE` branches etc)
66
4. Check that modules/subworkflows in template are up to date with the latest releases
7-
5. Create a PR to `dev` to bump the version in `CHANGELOG.md` and `setup.py` and change the gitpod container to `nfcore/gitpod:latest`.
7+
5. Create a PR to `dev` to bump the version in `CHANGELOG.md` and `setup.py` and change the `.devcontainer/devcontainer.json` container to `nfcore/gitpod:latest`.
88
6. Make sure all CI tests are passing!
99
7. Create a PR from `dev` to `main`
1010
8. Run a manual sync on `nf-core/testpipeline` and check that CI is passing on the resulting PR: use the `Sync template` GitHub Action from the tools repository specifying the pipeline name and running from the `dev` branch.
@@ -22,4 +22,4 @@
2222
3. Manually trigger the `Sync template` GitHub Action for all pipelines.
2323
4. Check that the automatic `PyPi` deployment has worked: [pypi.org/project/nf-core](https://pypi.org/project/nf-core/)
2424
5. Check `BioConda` has an automated PR to bump the version, and merge. eg. [bioconda/bioconda-recipes #20065](https://github.com/bioconda/bioconda-recipes/pull/20065)
25-
6. Create a tools PR to `dev` to bump back to the next development version in `CHANGELOG.md` and `setup.py` and change the gitpod container to `nfcore/gitpod:dev`.
25+
6. Create a tools PR to `dev` to bump back to the next development version in `CHANGELOG.md` and `setup.py` and change the `.devcontainer/devcontainer.json` container to `nfcore/gitpod:dev`.

CHANGELOG.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
# nf-core/tools: Changelog
22

3-
## v3.4.0dev
3+
## [v3.4.1 - Ducol Dingo Patch 1](https://github.com/nf-core/tools/releases/tag/3.4.0) - [2025-10-10]
4+
5+
### Template
6+
7+
- Fix devcontainer configuration for pipeline template ([#3835](https://github.com/nf-core/tools/pull/3835))
8+
- Fix Jinja2 template formatting in nextflow.config ([#3836](https://github.com/nf-core/tools/pull/3836))
9+
- Add codespaces badge to template README ([#3824](https://github.com/nf-core/tools/pull/3824))
10+
11+
## [v3.4.0 - Ducol Dingo](https://github.com/nf-core/tools/releases/tag/3.4.0) - [2025-10-10]
12+
13+
**Highlights**
14+
15+
- Bumping minimum Nextflow version to 25.04.0.
16+
- Refactoring of the `nf-core pipelines download` command.
417

518
### Template
619

@@ -11,26 +24,27 @@
1124
- Explicitly declare conda-forge as a channel in the conda setup for GitHub CI for nf-test ([#3764](https://github.com/nf-core/tools/pull/3764))
1225
- Update multiqc to 1.31 ([#3766](https://github.com/nf-core/tools/pull/3766))
1326
- Update charliecloud URL ([#3757](https://github.com/nf-core/tools/pull/3757))
14-
- Fix: Add NXF_VERSION environment variable to nf-test workflow ([#3770](https://github.com/nf-core/tools/pull/3770))
15-
- Template: Update nextflow.config to use environment variable for `hook_url` ([#3756](https://github.com/nf-core/tools/pull/3756))
27+
- Add NXF_VERSION environment variable to nf-test workflow ([#3770](https://github.com/nf-core/tools/pull/3770))
28+
- Update nextflow.config to use environment variable for `hook_url` ([#3756](https://github.com/nf-core/tools/pull/3756))
1629
- Update nf-test to 0.9.3 ([#3781](https://github.com/nf-core/tools/pull/3781))
1730
- update release checklist to battle test pipeline template more ([#3788](https://github.com/nf-core/tools/pull/3788))
18-
- feat: Add codespaces badge to template README ([#3824](https://github.com/nf-core/tools/pull/3824))
31+
- update pipeline template subworkflows ([#3826](https://github.com/nf-core/tools/pull/3826))
32+
- fix AWS tests launch action ([#3827](https://github.com/nf-core/tools/pull/3827))
1933

2034
### Linting
2135

22-
- Add .nf-test folder to prettierignore list ([#3625](https://github.com/nf-core/tools/pull/3625))
2336
- ignore files in gitignore also for pipeline_if_empty_null lint test ([#3722](https://github.com/nf-core/tools/pull/3722))
2437
- do not check pytest_modules.yml file, deprecating ([#3748](https://github.com/nf-core/tools/pull/3748))
2538
- Use the org from the .nf-core.yml when linting manifest name and homePage. ([#3767](https://github.com/nf-core/tools/pull/3767))
2639
- Use the org from .nf-core.yml when linting multiqc_config report_comment ([#3800](https://github.com/nf-core/tools/pull/3800))
2740
- Linting of patched subworkflows ([#3755](https://github.com/nf-core/tools/pull/3755))
2841
- Add link to modules and subworkflows linting error docs ([#3818](https://github.com/nf-core/tools/pull/3818))
42+
- fix ternary container linting ([#3830](https://github.com/nf-core/tools/pull/3830))
2943

3044
### Modules
3145

3246
- Support modules with `exec:` blocks ([#3633](https://github.com/nf-core/tools/pull/3633))
33-
- feat: nf-core modules bump-version supports specifying the toolkit ([#3608](https://github.com/nf-core/tools/pull/3608))
47+
- nf-core modules bump-version supports specifying the toolkit ([#3608](https://github.com/nf-core/tools/pull/3608))
3448
- use same logic for super-tool selection in modules lint and bump-version ([#3823](https://github.com/nf-core/tools/pull/3823))
3549
- Override example keywords in modules test ([#3801](https://github.com/nf-core/tools/pull/3801))
3650
- update test assertions in modules template to current recommendations and remove `single_end` from example meta value ([#3815](https://github.com/nf-core/tools/pull/3815))
@@ -42,23 +56,16 @@
4256
### General
4357

4458
- don't read param expressions with spaces as params ([#3674](https://github.com/nf-core/tools/pull/3674))
45-
- Update marocchino/sticky-pull-request-comment digest to 7737449 ([#3681](https://github.com/nf-core/tools/pull/3681))
4659
- Stop using Gitpod in favor of devcontainer for codespaces ([#3569](https://github.com/nf-core/tools/pull/3569))
47-
- Update dependency textual to v5 ([#3699](https://github.com/nf-core/tools/pull/3699))
48-
- Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.7 ([#3697](https://github.com/nf-core/tools/pull/3697))
49-
- Update pre-commit hook pre-commit/mirrors-mypy to v1.17.1 ([#3698](https://github.com/nf-core/tools/pull/3698))
50-
- Update python:3.13-slim Docker digest to 4c2cf99 ([#3700](https://github.com/nf-core/tools/pull/3700))
5160
- Validation of meta.yaml in cross-org repos ([#3680](https://github.com/nf-core/tools/pull/3680))
5261
- Refactor downloads command ([#3634](https://github.com/nf-core/tools/pull/3634))
5362
- Split `download.py` into subdirectory `download/`
5463
- Use `nextflow inspect` for container discovery and remove legacy regex container discovery (requires Nextflow >= 25.04.04)
5564
- Add support for downloading docker images into tar archives
56-
- Change long flag `--parallel-downloads` to `--parallel`. Short flag remains `-d`.
5765
- Add pipeline to test data to be compatible with `nextflow inspect`
5866
- Move `gather_registries` function to `ContainerFetcher` subclasses (#3634 follow-up) ([#3696](https://github.com/nf-core/tools/pull/3696))
5967
- Add container load scripts for Docker and Podman (#3634 follow up) ([#3706](https://github.com/nf-core/tools/pull/3706))
6068
- Replace arm profile with arm64 and emulate_amd64 profiles ([#3689](https://github.com/nf-core/tools/pull/3689))
61-
- Update codecov/codecov-action digest to fdcc847 ([#3717](https://github.com/nf-core/tools/pull/3717))
6269
- Fix paths to logos ([#3715](https://github.com/nf-core/tools/pull/3715))
6370
- Update test-datasets list subcommand to output plain text urls and paths for easy copying [#3720](https://github.com/nf-core/tools/pull/3720)
6471
- Remove workflow.trace from nf-test snapshot ([#3721](https://github.com/nf-core/tools/pull/3721))
@@ -69,18 +76,23 @@
6976
- Fix Issues/3729: Remove temporary folders created from nextflow inspect during downloads ([#3750](https://github.com/nf-core/tools/pull/3750))
7077
- Fix diff printing to terminal ([#3759](https://github.com/nf-core/tools/pull/3759))
7178
- Add .nf-test/ to prettier ignore list ([#3776](https://github.com/nf-core/tools/pull/3776))
79+
- pipelines bump-version: fix indentation for list in dumped .nf-core.yml ([#3829](https://github.com/nf-core/tools/pull/3829))
80+
81+
### Version updates
82+
83+
- Update marocchino/sticky-pull-request-comment digest to 7737449 ([#3681](https://github.com/nf-core/tools/pull/3681))
84+
- Update codecov/codecov-action digest to fdcc847 ([#3717](https://github.com/nf-core/tools/pull/3717))
7285
- Update dependency prompt_toolkit to <=3.0.52 ([#3783](https://github.com/nf-core/tools/pull/3783))
73-
- Update python:3.13-slim Docker digest to 3a6ead7 ([#3786](https://github.com/nf-core/tools/pull/3786))
74-
- Update dependency textual to v5.3.0 ([#3785](https://github.com/nf-core/tools/pull/3785))
7586
- update rich-click to 1.9 and use new styling options ([#3787](https://github.com/nf-core/tools/pull/3787))
7687
- Update dependency textual to v6 ([#3793](https://github.com/nf-core/tools/pull/3793))
7788
- Update pre-commit hook pre-commit/mirrors-mypy to v1.18.2 ([#3792](https://github.com/nf-core/tools/pull/3792))
7889
- Update python:3.13-slim Docker digest to 5f55cdf ([#3796](https://github.com/nf-core/tools/pull/3796))
79-
- Update GitHub Actions ([#3795](https://github.com/nf-core/tools/pull/3795))
8090
- Update pre-commit hook astral-sh/ruff-pre-commit to v0.13.3 ([#3791](https://github.com/nf-core/tools/pull/3791))
8191
- Update pre-commit hook pre-commit/pre-commit-hooks to v6 ([#3797](https://github.com/nf-core/tools/pull/3797))
8292
- Update dependency python to 3.14 ([#3817](https://github.com/nf-core/tools/pull/3817))
8393
- update Dockerfile to python 3.14 ([#3822](https://github.com/nf-core/tools/pull/3822))
94+
- downgrade python version to 3.13 in devcontainer ([#3834](https://github.com/nf-core/tools/pull/3834))
95+
- Update GitHub Actions ([#3795](https://github.com/nf-core/tools/pull/3795))
8496

8597
## [v3.3.2 - Tungsten Tamarin Patch 2](https://github.com/nf-core/tools/releases/tag/3.3.2) - [2025-07-08]
8698

nf_core/modules/lint/main_nf.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,11 +314,11 @@ def check_process_section(self, lines, registry, fix_version, progress_bar):
314314
# Deprecated enable_conda
315315
for i, raw_line in enumerate(lines):
316316
url = None
317-
line = raw_line.strip(" \n'\"}:")
317+
line = raw_line.strip(" \n'\"}:?")
318318

319319
# Catch preceding "container "
320320
if line.startswith("container"):
321-
line = line.replace("container", "").strip(" \n'\"}:")
321+
line = line.replace("container", "").strip(" \n'\"}:?")
322322

323323
if _container_type(line) == "conda":
324324
if "bioconda::" in line:
@@ -592,7 +592,7 @@ def check_process_labels(self, lines):
592592
def check_container_link_line(self, raw_line, registry):
593593
"""Look for common problems in the container name / URL, for docker and singularity."""
594594

595-
line = raw_line.strip(" \n'\"}:")
595+
line = raw_line.strip(" \n'\"}:?")
596596

597597
# lint double quotes
598598
if line.count('"') > 2:

nf_core/pipeline-template/.devcontainer/devcontainer.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,16 @@
55
"remoteUser": "root",
66
"privileged": true,
77

8-
// Mount full current path to make mounting into docker-outside-of-docker work
9-
"workspaceMount": "source=${localWorkspaceFolder},target=${localWorkspaceFolder},type=bind",
10-
"workspaceFolder": "${localWorkspaceFolder}"
8+
"remoteEnv": {
9+
// Workspace path on the host for mounting with docker-outside-of-docker
10+
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
11+
},
12+
13+
"onCreateCommand": "./.devcontainer/setup.sh",
14+
15+
"hostRequirements": {
16+
"cpus": 4,
17+
"memory": "16gb",
18+
"storage": "32gb"
19+
}
1120
}

nf_core/pipeline-template/.devcontainer/setup.sh

100644100755
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
#!/usr/bin/env bash
22

3+
# Customise the terminal command prompt
4+
echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc
5+
echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc
6+
export PROMPT_DIRTRIM=2
7+
export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '
8+
9+
# Update Nextflow
10+
nextflow self-update
11+
312
# Update welcome message
413
echo "Welcome to the {{ name }} devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt

nf_core/pipeline-template/.github/workflows/awsfulltest.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,21 @@ jobs:
2828
# Add full size test data (but still relatively small datasets for few samples)
2929
# on the `test_full.config` test runs with only one set of parameters
3030
with:
31-
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
31+
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
3232
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
33-
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
33+
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
3434
revision: ${{ steps.revision.outputs.revision }}
35-
workdir: s3://${{ secrets.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ steps.revision.outputs.revision }}{% endraw %}
35+
workdir: s3://${{ vars.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ steps.revision.outputs.revision }}{% endraw %}
3636
parameters: |
3737
{
3838
"hook_url": "{% raw %}${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}{% endraw %}",
39-
"outdir": "s3://{% raw %}${{ secrets.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-${{ steps.revision.outputs.revision }}{% endraw %}"
39+
"outdir": "s3://{% raw %}${{ vars.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-${{ steps.revision.outputs.revision }}{% endraw %}"
4040
}
4141
profiles: test_full
4242

4343
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
4444
with:
4545
name: Seqera Platform debug log file
4646
path: |
47-
seqera_platform_action_*.log
48-
seqera_platform_action_*.json
47+
tower_action_*.log
48+
tower_action_*.json

nf_core/pipeline-template/.github/workflows/awstest.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ jobs:
1414
- name: Launch workflow via Seqera Platform
1515
uses: seqeralabs/action-tower-launch@v2
1616
with:
17-
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
17+
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
1818
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
19-
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
19+
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
2020
revision: ${{ github.sha }}
21-
workdir: s3://${{ secrets.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ github.sha }}{% endraw %}
21+
workdir: s3://${{ vars.AWS_S3_BUCKET }}{% endraw %}/work/{{ short_name }}/{% raw %}work-${{ github.sha }}{% endraw %}
2222
parameters: |
2323
{
24-
"outdir": "s3://{% raw %}${{ secrets.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-test-${{ github.sha }}{% endraw %}"
24+
"outdir": "s3://{% raw %}${{ vars.AWS_S3_BUCKET }}{% endraw %}/{{ short_name }}/{% raw %}results-test-${{ github.sha }}{% endraw %}"
2525
}
2626
profiles: test
2727

2828
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
2929
with:
3030
name: Seqera Platform debug log file
3131
path: |
32-
seqera_platform_action_*.log
33-
seqera_platform_action_*.json
32+
tower_action_*.log
33+
tower_action_*.json

nf_core/pipeline-template/.prettierignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ bin/
2020
{%- if rocrate %}
2121
ro-crate-metadata.json
2222
{%- endif %}
23-
.nf-test/

nf_core/pipeline-template/modules.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
"nf-core": {
2424
"utils_nextflow_pipeline": {
2525
"branch": "master",
26-
"git_sha": "c2b22d85f30a706a3073387f30380704fcae013b",
26+
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
2727
"installed_by": ["subworkflows"]
2828
},
2929
"utils_nfcore_pipeline": {
3030
"branch": "master",
31-
"git_sha": "51ae5406a030d4da1e49e4dab49756844fdd6c7a",
31+
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
3232
"installed_by": ["subworkflows"]
3333
}{% if nf_schema %},
3434
"utils_nfschema_plugin": {

0 commit comments

Comments
 (0)