Important! Template update for nf-core/tools v4.0.2#1827
Merged
Conversation
…-4.0.2 # Conflicts: # .github/CONTRIBUTING.md # .github/workflows/awsfulltest.yml # .github/workflows/nf-test.yml # .github/workflows/release-announcements.yml # .nf-core.yml # CHANGELOG.md # README.md # assets/multiqc_config.yml # docs/usage.md # main.nf # modules.json # modules/nf-core/fastqc/main.nf # modules/nf-core/fastqc/meta.yml # modules/nf-core/multiqc/environment.yml # modules/nf-core/multiqc/main.nf # modules/nf-core/multiqc/meta.yml # modules/nf-core/multiqc/tests/main.nf.test # modules/nf-core/multiqc/tests/main.nf.test.snap # nextflow.config # nextflow_schema.json # nf-test.config # ro-crate-metadata.json # subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf # tests/nextflow.config # workflows/rnaseq.nf
- restore dev's subworkflows/nf-core/utils_nfcore_pipeline/main.nf so
imNotification() is available again (template-side removal would have
broken PIPELINE_COMPLETION's hook_url branch)
- add hook_url params declaration in nextflow.config (the auto-merge
dropped dev's System.getenv('HOOK_URL') line); schema entry stays
- ignore the removed assets/multiqc_config.yml in lint.files_exist
- accept nf-core lint's ro-crate description normalization against
README content
nf-core pipelines lint --fix container_configs run against the kept-from-dev module pins. The conf/containers_*.config files are static manifests for nf-core tooling and are not includeConfig'd anywhere at runtime, so the regenerated content has no functional impact on pipeline runs.
|
- Import imNotification from utils_nfcore_pipeline explicitly. The strict
Nextflow syntax check in CI ('Nextflow Lint' / pre-commit nextflow-lint)
flagged 'imNotification is not defined' on the call site at
utils_nfcore_rnaseq_pipeline/main.nf:166. Implicit cross-include
resolution that worked in earlier Nextflow / Groovy modes is no
longer accepted under the strict parser bundled with this template.
- Run prettier on docs/usage.md (table column padding tweak only).
…tputDir
After cross-checking against the four nf-core 4.0.2 template merges that
landed first (mag, rnavar, bamtofastq, seqinspector), align rnaseq with
the cohort:
- Adopt 'outputDir = params.outdir' and 'workflow.output.mode =
params.publish_dir_mode' in nextflow.config (above the existing
process.publishDir block). All four cohort pipelines added these
lines; they configure the new 4.0 output DSL default without
conflicting with the existing process.publishDir, which is still
what publishes anything with a withName selector.
- Strip the Slack/Teams 'imNotification' notification path. Template
4.0.2 removed this helper from subworkflows/nf-core/utils_nfcore_pipeline
and all four cohort pipelines accepted that removal. Drops:
- hook_url declaration in nextflow.config and nextflow_schema.json
- hook_url take: input + onComplete branch in
subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf
- imNotification include in the local utils subworkflow
- hook_url positional arg from PIPELINE_COMPLETION call site in main.nf
- hook_url=... entries from awsfulltest.yml + cloud_tests_full.yml
Tower launch parameters (the runs no longer need
MEGATESTS_ALERTS_SLACK_HOOK_URL plumbing).
Restored subworkflows/nf-core/utils_nfcore_pipeline/main.nf to the
template-canonical version (auto-resolved at merge time, then
reverted to dev in 47d5f07). The 'def imNotification' function
is gone; modules.json sha continues to point at the matching
upstream commit.
- Updated tests/main.pipeline_completion.workflow.nf.test to match
the new 9-input PIPELINE_COMPLETION signature (was 10).
CI's check_local_copy lint flagged that the local content didn't match the remote at the dev-recorded sha 65f5e638. Bump to the sha used by the rest of the 4.0.2 cohort (mag, bamtofastq): a3fb7351b1fdb2b1de282b765816bbea190e86a8. Diff vs 65f5e638 is just the 'valid_config = valid_config' default-value tweak and the imNotification removal we already aligned to.
pinin4fjords
reviewed
May 5, 2026
The 8 conf/containers_*.config files (singularity_https/oras/docker/conda_lock,
amd64/arm64) and the modules/nf-core/{fastqc,multiqc}/.conda-lock/ files were
shipped by nf-core/tools 4.0 as scaffolding for a per-process container
override layer fed by committed conda lock files. Nobody is using them yet:
they are not includeConfig'd from nextflow.config or any profile, they only
cover 2 of ~128 processes (fastqc, multiqc), and every other 4.0.2-merged
nf-core pipeline ships them inert too. Until the feature is fleshed out,
they are pure noise.
Disable the container_configs lint rule and add the eight removed conf/containers_*.config paths to the files_exist ignore list, so 'nf-core pipelines lint' stops asking for them. They were dropped in de9c912 as orphaned scaffolding for an unimplemented feature.
erikrikarddaniel
approved these changes
May 5, 2026
Member
|
Thanks @erikrikarddaniel ! |
pinin4fjords
added a commit
to nf-core/tools
that referenced
this pull request
May 5, 2026
… duplicate 'the') Both typos in nf_core/pipeline-template/docs/CONTRIBUTING.md ship with every pipeline that adopts the 4.0 template. 'focussed' is a less-common British spelling; 'focused' is preferred in modern AmE and BrE style guides. The second hit (line 54) is a duplicated 'the the'. Caught downstream during the nf-core/rnaseq#1827 template merge review.
2 tasks
pinin4fjords
added a commit
to nf-core/differentialabundance
that referenced
this pull request
May 13, 2026
Resolves conflicts for nf-core/tools v4.0.2 template merge, following nf-core/rnaseq#1827 precedent. Kept from dev (pipeline-specific): - paramsets workflow signature and full workflows/differentialabundance.nf body with output {} blocks - nf-test.config explicit-profile policy and all tests/default.nf.test cases - Pipeline-specific manifest contributors Adopted from template: - nf_core_version 4.0.2, nextflowVersion !>=25.10.4, badge bumps in README and ro-crate-metadata.json - outputDir = params.outdir + workflow.output.mode = params.publish_dir_mode - utils_nfcore_pipeline bumped to a3fb7351b1fdb2b1de282b765816bbea190e86a8 (drops imNotification path) - tests/default.nf.test variable rename stable_name/stable_path -> stable_path/stable_content, applied to all four test cases - .lineage/ added to .gitignore - Template's auto-generated ro-crate-metadata.json (lint will renormalize description from the resolved README) Local touch-ups: - Removed .github/CONTRIBUTING.md from .nf-core.yml files_unchanged (file moved to docs/CONTRIBUTING.md in dev) - Dropped orphan def before_text/after_text declarations in subworkflows/local/utils_nfcore_differentialabundance_pipeline/main.nf - awsfulltest.yml nf-slack channel switched to differentialabundance-dev
4 tasks
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 nf-core/tools v4.0.2 template into
dev. Substantial drift (last template merge was v3.5.1), so most conflicts were resolved by keeping rnaseq-specific behaviour and selectively adopting template improvements. After the initial merge, choices were cross-checked against the four 4.0.2 PRs that landed first (nf-core/mag#1030, nf-core/rnavar#303, nf-core/bamtofastq#138, nf-core/seqinspector#233) and aligned where they had reached the same conclusion.Resolution summary
Kept from dev (pipeline-specific)
conf/modules/*.configlayout, ARM/AMD container splits, parabricks/sentieon hooks, prokaryotic test profilenf-test.configwith dynamicSKIP_SENTIEON/SKIP_GPUignore lists and explicit-profilepolicy (CPUtestvs GPUtest_gpu)nf-test.ymlNextflow pin25.04.3(conda--mkdirfix) and NFT0.9.5bumpawsfulltest.ymlaligner matrix andif: always()artifact uploadPREPARE_GENOME28-input call site and rnaseq-specificPIPELINE_COMPLETIONsummary (rnaseqSummarywith per-sample trim/map/strand status)process.publishDirblock withext.publish_prefixfor--skip_quantification_mergeper-sample publishingfastqcandmultiqcmodules at the dev pinned shas (don't churn ARM Wave pins)workflows/rnaseq.nf→workflows/rnaseq/,assets/multiqc_config.yml→workflows/rnaseq/assets/multiqc/,.github/CONTRIBUTING.md→docs/CONTRIBUTING.mdcreativeWorkStatus: InProgress, dev URLs /3.26.0devversion inro-crate-metadata.jsonAdopted from template / aligned with the 4.0.2 cohort
nf_core_version: 4.0.2and template badge updates inREADME.md/ro-crate-metadata.jsonoutputDir = params.outdirandworkflow.output.mode = params.publish_dir_modeinnextflow.config(alongside the existingprocess.publishDirblock, matching mag / rnavar / bamtofastq / seqinspector)imNotificationnotification path: removedhook_urlparam + schema entry, removedimNotificationimport + workflow plumbing, droppedhook_url=...fromawsfulltest.yml+cloud_tests_full.yml. The four cohort pipelines all dropped the same path. Bumpedsubworkflows/nf-core/utils_nfcore_pipelinetoa3fb7351b1fdb2b1de282b765816bbea190e86a8(the cohort sha) socheck_local_copypasses; the only difference vs the previous dev sha is thisimNotificationremoval plus avalid_config = valid_configdefault-value tweak.rzr/fediverse-actioninrelease-announcements.ymlandactions/upload-artifact@v7inawsfulltest.ymldocs/CONTRIBUTING.md(new) - the rnaseq-specific note about not setting a defaultprofile "test"was ported acrosscontributorgraph inro-crate-metadata.json(Harshil / Phil / Rickard from.nf-core.ymltemplate.author);#pinin4fjordsPerson preserved becausemaintainerreferences it.github/CONTRIBUTING.mdfromlint.files_unchanged(file no longer exists)tests/default.nf.testvariable rename (stable_name/stable_path→stable_path/stable_content); applied to both test cases for consistency> [!WARNING]block indocs/usage.md(replaces Docusaurus:::warning)Cleanups (post-merge fixes spotted during conflict review)
def before_text = ""/def after_text = ""orphan declarations insubworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf; the heredoc assignments below now declare withdeftests/main.pipeline_completion.workflow.nf.testafter droppinghook_urlfrom PIPELINE_COMPLETIONLint follow-ups
assets/multiqc_config.ymltolint.files_existignore list in.nf-core.yml(we removed the file because dev moved its content toworkflows/rnaseq/assets/multiqc/).ro-crate-metadata.json'sdescriptionfield against the README content (URL anchors and unicode escaping); accepted as-is.Deliberate divergence: dropped orphaned
conf/containers_*.configscaffoldingThe 4.0 template ships eight
conf/containers_<engine>_<arch>.configfiles plus committedmodules/nf-core/{fastqc,multiqc}/.conda-lock/*.txtlock files as scaffolding for a per-process container override layer. The four cohort pipelines (mag, rnavar, bamtofastq, seqinspector) all kept these files inert at template-shipped sizes, but in every case they:includeConfig'd fromnextflow.configor any profile,Rather than carry a half-implemented feature, this PR removes them and disables the
container_configslint rule via.nf-core.yml. When somebody actually implements the feature properly (committed conda lock files for every module, profile wiring, CI coverage), regenerate vianf-core pipelines lint --fix container_configsand drop the lint opt-out. Note: the next template-sync PR will re-add these files; they should be deleted again until the underlying feature is real.Files resolved
.github/CONTRIBUTING.md,.github/workflows/awsfulltest.yml,.github/workflows/cloud_tests_full.yml,.github/workflows/nf-test.yml,.github/workflows/release-announcements.yml,.nf-core.yml,CHANGELOG.md,README.md,assets/multiqc_config.yml,conf/containers_*.config(8 files),docs/usage.md,main.nf,modules.json,modules/nf-core/fastqc/{main.nf,meta.yml},modules/nf-core/multiqc/{environment.yml,main.nf,meta.yml,tests/main.nf.test,tests/main.nf.test.snap},nextflow.config,nextflow_schema.json,nf-test.config,ro-crate-metadata.json,subworkflows/local/utils_nfcore_rnaseq_pipeline/{main.nf,tests/main.pipeline_completion.workflow.nf.test},subworkflows/nf-core/utils_nfcore_pipeline/main.nf,tests/default.nf.test,tests/nextflow.config,workflows/rnaseq.nf.Test plan
nf-testsmoke (CPU shards, docker)References