Skip to content

Type boolean and numeric parameters and require Nextflow 26.04.6 - #359

Merged
nictru merged 3 commits into
devfrom
feat/typed-scalar-parameters
Oct 25, 2026
Merged

nictru merged 3 commits into
devfrom
feat/typed-scalar-parameters

Conversation

@nictru

@nictru nictru commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add native boolean and numeric parameter validation without changing analysis interfaces or config defaults, following the metatdenovo approach.

 main.nf
+ params { /* 50 Boolean, Integer and Float declarations, without defaults */ }
 nextflow.config
  params { /* all 111 defaults retained */ }
- nextflowVersion = '!>=25.10.4'
+ nextflowVersion = '!>=26.04.6'

String parameters and boolean-or-string help remain untyped. No workflow/process static typing, plugin upgrades or vendored changes. Update the blocking CI floor, documentation and generated RO-Crate metadata.

Evidence

  • Before: No native scalar declarations in main.nf.
    After: All 50 declarations match schema scalar types and config nullability; a comparison confirms that all 111 defaults remain unchanged.
  • Nextflow 26.04.6: all 12 tests in tests/params.nf.test --profile docker pass. Coverage includes CLI boolean flags, numeric values, nullable parameters, precedence, help/version and native invalid-type errors with schema validation disabled.
  • prek run --all-files and staged pre-commit checks pass.
  • Existing pipeline, local-module and local-subworkflow checks were attempted. Container tasks fail before analysis with Docker/OCI mount permission errors under both the repository and temporary work directories. These runs were interrupted by the command timeout; no snapshots were regenerated.
  • Default-profile CLI regression rerun also passes all 12 tests on Nextflow 26.04.6 in CI mode.
  • All 89 GitHub checks pass for head 11b72771a4b92dca63a49d43a1625f0f11f51f2b, including nf-core lint, pre-commit and all pipeline/module/subworkflow shards on Nextflow 26.04.6 and latest-everything.
  • main.nf retains its original layout outside the typed parameter block. The additional parameter-type usage section was removed at the author's request.

Merge Danger

Door: two-way

Revert the commit to restore the previous declarations and minimum version. No data migration.

Blast Radius: pipeline

All invocations require Nextflow 26.04.6 or later. Invalid scalar values now fail before initialisation, even with --validate_params false. Analysis behaviour and publication paths are unchanged by the implementation, but container-based regression verification remains blocked locally.

Generated by GPT-6.1 Sol

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • CHANGELOG.md is updated.
  • README.md is updated.

No new tools, test datasets or output formats are introduced.

Retain config defaults and add CLI regression coverage. Require Nextflow 26.04.6 and update CI, documentation and generated metadata.

Generated by GPT-6.1 Sol
@github-actions

Copy link
Copy Markdown

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 4.1.0.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the Synchronisation documentation.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 11b7277

+| ✅ 328 tests passed       |+
#| ❔   3 tests were ignored |#
!| ❗   8 tests had warnings |!
Details

❗ Test warnings:

  • files_exist - File not found: conf/igenomes.config
  • files_exist - File not found: conf/igenomes_ignored.config
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in CHANGELOG.md: ## v0.0.1dev - [unreleased replace with date on release ]
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.

❔ Tests ignored:

  • files_exist - File is ignored: .github/workflows/linting_comment.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml

✅ Tests passed:

Run details

  • nf-core/tools version 4.1.0
  • Run at 2026-10-25 09:03:24

The nf-core content linter requires software-version coverage in pipeline tests. Assert that help-only parameter tests do not publish analysis versions, rather than launching tasks or disabling the lint check.

Generated by GPT-6.1 Sol
Restore the existing main.nf layout outside the typed parameter block and remove the additional parameter-type usage section.

Generated by GPT-6.1 Sol
@nictru
nictru marked this pull request as ready for review October 25, 2026 09:33
@nictru
nictru merged commit a2b0a84 into dev Oct 25, 2026
90 checks passed
@nictru
nictru deleted the feat/typed-scalar-parameters branch October 25, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant