Skip to content

Commit b6c5737

Browse files
mashehunvnieuwk
andauthored
dev -> main for 4.0.2 (#4255)
Co-authored-by: Nicolas Vannieuwkerke <101190534+nvnieuwk@users.noreply.github.com>
1 parent d61f919 commit b6c5737

7 files changed

Lines changed: 42 additions & 28 deletions

File tree

CHANGELOG.md

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

3-
## v4.0.1
3+
## [v4.0.2 - Bold Boa Patch 2](https://github.com/nf-core/tools/releases/tag/4.0.2) - [2026-04-30]
4+
5+
### General
6+
7+
- add `pipeline_dir` to search directories for include statements ([#4252](https://github.com/nf-core/tools/pull/4252))
8+
9+
### Template
10+
11+
- fix version capture in downloads_action ([#4251](https://github.com/nf-core/tools/pull/4251))
12+
- Remove format constraint for igenomes_base ([#4253](https://github.com/nf-core/tools/pull/4253))
13+
14+
## [v4.0.1 - Bold Boa Patch](https://github.com/nf-core/tools/releases/tag/4.0.1) - [2026-04-29]
415

516
### General
617

@@ -13,7 +24,7 @@
1324

1425
- Allow task.ext.prefix2 in modules linting ([#4234](https://github.com/nf-core/tools/pull/4234))
1526

16-
## [v4.0.0 - Bold Boa](https://github.com/nf-core/tools/releases/tag/4.0.0) - [2026-04-27]
27+
## [v4.0.0 - Bold Boa](https://github.com/nf-core/tools/releases/tag/4.0.0) - [2026-04-28]
1728

1829
### General
1930

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN mkdir -p /usr/share/man/man1 \
2222

2323
# Setup ARG for NXF_VER ENV
2424
ARG NXF_VER=""
25-
ENV NXF_VER ${NXF_VER}
25+
ENV NXF_VER=${NXF_VER}
2626
# Install Nextflow
2727
RUN curl -s https://get.nextflow.io | bash \
2828
&& mv nextflow /usr/local/bin \

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ jobs:
3838
runs-on: ubuntu-latest
3939
needs: configure
4040
steps:
41+
- name: Check out pipeline code
42+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
43+
4144
- name: Install Nextflow
4245
uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3
4346

@@ -55,10 +58,9 @@ jobs:
5558
apptainer-version: 1.3.4{% raw %}
5659

5760
- name: Read .nf-core.yml
58-
uses: pietrobolcato/action-read-yaml@9f13718d61111b69f30ab4ac683e67a56d254e1d # 1.1.0
5961
id: read_yml
60-
with:
61-
config: ${{ github.workspace }}/.nf-core.yml
62+
run: |
63+
echo "nf_core_version=$(yq '.nf_core_version' ${{ github.workspace }}/.nf-core.yml)" >> "$GITHUB_OUTPUT"
6264
6365
- name: Install dependencies
6466
run: |

nf_core/pipeline-template/nextflow_schema.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@
7777
},
7878
"igenomes_base": {
7979
"type": "string",
80-
"format": "directory-path",
8180
"description": "The base path to the igenomes reference files",
8281
"fa_icon": "fas fa-ban",
8382
"hidden": true,

nf_core/pipelines/containers_utils.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -57,35 +57,37 @@ def parse_module_paths(self) -> dict[str, Path]:
5757
# Captures the first name (original) and the path, ignoring any alias
5858
include_pattern = re.compile(r"include\s*\{\s*(\w+).*?\}\s*from\s+['\"]([^'\"]+)['\"]")
5959

60-
# Search in workflows, modules, and subworkflows directories
60+
# Search in root (main.nf), workflows, modules, and subworkflows directories
6161
search_dirs = ["workflows", "modules", "subworkflows"]
6262

63+
nf_files_to_search = list(self.workflow_directory.glob("*.nf"))
6364
for search_dir in search_dirs:
6465
search_path = self.workflow_directory / search_dir
6566
if not search_path.exists():
6667
continue
68+
nf_files_to_search.extend(search_path.rglob("*.nf"))
6769

68-
for nf_file in search_path.rglob("*.nf"):
69-
try:
70-
content = nf_file.read_text()
71-
for match in include_pattern.finditer(content):
72-
process_name = match.group(1)
73-
relative_path = match.group(2)
70+
for nf_file in nf_files_to_search:
71+
try:
72+
content = nf_file.read_text()
73+
for match in include_pattern.finditer(content):
74+
process_name = match.group(1)
75+
relative_path = match.group(2)
7476

75-
# Only process paths that contain 'modules/'
76-
if "modules/" not in relative_path:
77-
continue
77+
# Only process paths that contain 'modules/'
78+
if "modules/" not in relative_path:
79+
continue
7880

79-
# Extract everything from 'modules/' onwards, removing any '/main' suffix
80-
module_path_str = relative_path[relative_path.find("modules/") :]
81-
module_path_str = module_path_str.replace("/main", "")
81+
# Extract everything from 'modules/' onwards, removing any '/main' suffix
82+
module_path_str = relative_path[relative_path.find("modules/") :]
83+
module_path_str = module_path_str.replace("/main", "")
8284

83-
module_paths[process_name] = Path(module_path_str)
84-
log.debug(f"Found include: {process_name} -> {module_path_str}")
85+
module_paths[process_name] = Path(module_path_str)
86+
log.debug(f"Found include: {process_name} -> {module_path_str}")
8587

86-
except OSError as e:
87-
log.debug(f"Error parsing {nf_file}: {e}")
88-
continue
88+
except OSError as e:
89+
log.debug(f"Error parsing {nf_file}: {e}")
90+
continue
8991

9092
return module_paths
9193

@@ -162,7 +164,7 @@ def generate_container_configs(
162164
has_warnings = True
163165
continue
164166
if has_warnings:
165-
log.info(
167+
log.debug(
166168
"Generated container configs for the pipeline. Not all containers were found. Run with `-v` to see detailed warning messages."
167169
)
168170
else:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ nf_core = ["**/*"]
1111

1212
[project]
1313
name = "nf-core"
14-
version = "4.0.1"
14+
version = "4.0.2"
1515
description = "Helper tools for use with nf-core Nextflow pipelines."
1616
readme = "README.md"
1717
license = "MIT"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)