Template update for nf-core/tools v4.0.3 - #31
Open
mazzalab wants to merge 14 commits into
Open
Conversation
|
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 4.0.3. For more documentation on how to update your pipeline, please see the Synchronisation documentation. |
|
❌ nf-test failed with latest Nextflow versionNote Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
See the full run for details. |
added 8 commits
August 9, 2026 09:26
- .gitignore: move pipeline-specific entries after the template block so the files_unchanged partial check finds the template content contiguously - .github/PULL_REQUEST_TEMPLATE.md: point CONTRIBUTING links at master, the repository's actual default branch (no main branch exists) - nextflow_schema.json: add the missing text/csv mimetype on input
Nextflow does not implicitly convert take: inputs to channels (only emit:
outputs), so the bare list made ch_fastq an ArrayList and ch_fastq.flatMap {}
resolved as a script-level function: 'Missing process or function flatMap'.
The test only started running now because nextflow.config is an nf-test trigger,
forcing a full test run.
Generated with nf-test 0.9.4 / Nextflow 25.10.4 (matching CI) via docker profile.
…merge - workflows/fastqrepair.nf: drop the dead FASTQC.out.versions reference. The template's FASTQC module now publishes its version via 'emit: ..., topic: versions' instead of a plain 'emit: versions' output, so FASTQC.out no longer has a versions property; the old .mix() call crashed every run with a MissingPropertyException. FASTQC's version was already being collected through the versions topic channel further down. - tests/main.nf.test: update the expected collated-versions filename to nf_core_fastqrepair_software_mqc_versions.yml, the new name the template writes (was nf-core_fastqrepair_versions.yml, the pre-4.0 name). - Regenerate main.nf.test's snapshot and add the never-before-committed default.nf.test snapshot, both verified against a local Docker run (nf-test 0.9.4 / Nextflow 25.10.4, matching CI).
.nftignore listed multiqc/* and fastqc/* patterns assuming the nf-core default output layout, but conf/modules.config publishes FastQC and MultiQC under QC/fastqc/ and QC/multiqc/ (a pre-existing pipeline customization). The patterns never matched, so default.nf.test's stable_content sweep hashed files with embedded timestamps (FastQC's zip, MultiQC's report.html and SVG plots), making the snapshot non-reproducible from run to run -- exactly what CI hit. Verified reproducible: regenerated the snapshot, then reran the test against it unchanged on a second independent local run (Docker, nf-test 0.9.4 / Nextflow 25.10.4, matching CI).
Ran nf-core pipelines bump-version 1.1.1 (nf-core-tools 4.0.3, matching .nf-core.yml). Updates nextflow.config, .nf-core.yml, assets/multiqc_config.yml and regenerates ro-crate-metadata.json. CHANGELOG.md updated by hand, since bump-version doesn't touch it.
WIPERTOOLS_FASTQWIPER.out.wiped_fastq was grouped by groupTuple, which preserves arrival order rather than any deterministic order -- arrival depends on which chunk's wiper task finishes first, a race that's stable on a given machine's scheduling pattern but differs between environments (reproduced here: passed on two independent local Docker runs, but failed against the CI-generated snapshot with a different byte-for-byte gathered fastq.gz, same decompressed record set). The chunk's own id (meta.id, zero-padded e.g. test_1_000/test_1_001, confirmed from an actual run's work directory) was dropped via subMap before grouping, leaving nothing to reorder by; now it's carried through and sorted on before gathering.
Both were stale for reasons unrelated to any new bug: default.nf.test's recorded pipeline version was v1.1.0dev (generated before the 1.1.1 bump), and main.nf.test's repaired/ directory listing embeds a content hash of test_30reads_2.fastq.gz, which legitimately changed once the wiped-chunk ordering fix landed. Verified stable across two independent local runs of all three nf-test files together (Docker, nf-test 0.9.4 / Nextflow 25.10.4, matching CI).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges the pending nf-core template updates into
dev, up to nf-core/tools 4.0.3.Closes #29.
Scope
nf-core-template-merge-4.0.3is the head of theTEMPLATEbranch, and the 3.4.1, 3.5.1 and 4.0.2 template-merge branches are linear ancestors of it. MergingTEMPLATEonce therefore resolves all four pending template updates; the older branches can be deleted after this is merged.devwas last synced withTEMPLATEat nf-core/tools 3.3.2.Conflict resolution
workflows/fastqrepair.nftake:inputs,channel.topic("versions")collation, newMULTIQCtuple signature) combined with the existing gzrt / wipertools / bbmap-repair logicnextflow.configarmprofile replaced byarm64+emulate_amd64,gitpodprofile dropped,nf-schema2.5.1,nextflowVersion!>=25.10.4; pipeline-specific params and the pipeline description keptmodules.jsongit_shaformultiqc,utils_nfcore_pipelineandutils_nfschema_plugin; pipeline modules untouchedmodules/nf-core/multiqc/*README.md.gitignoretests/nextflow.configqin/alphabetparams andresourceLimitsblockro-crate-metadata.jsondescriptionregenerated from the mergedREADME.md.github/PULL_REQUEST_TEMPLATE.md,subworkflows/local/utils_nfcore_fastqrepair_pipeline/main.nfNotable removals from the template
--hook_urland the IM notification assets (assets/slackreport.json,assets/adaptivecard.json).gitpod.ymland thegitpodprofile.github/CONTRIBUTING.md, now atdocs/CONTRIBUTING.mdCaveats
The merge was resolved without a local Nextflow or nf-core tools installation, so nothing has been executed or linted locally — CI is the first check.
ro-crate-metadata.jsonwas hand-resolved and should be regenerated withnf-core pipelines ro-cratebefore release.PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).docs/usage.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).