Template update for nf-core/tools v4.1.0 - #183
Open
ljwharbers wants to merge 4 commits into
Open
Conversation
Merge the regenerated TEMPLATE branch (tools 4.0.1 -> 4.1.0) into dev. Because the 4.0.2 bump on dev was hand-applied rather than synced, this also carries the 4.0.2 and 4.0.3 template changes. Conflict resolutions: - nextflow.config: took the template's nextflowVersion '!>=25.10.4'; kept dev's params block, contributor list and removal of the custom_config_base include. Bumped the nf-test NXF_VER matrix and the README Nextflow badge to 25.10.4 to match. - nextflow.config: filled the previously empty manifest contribution fields - Luuk Harbers and Robert Forsyth as author+maintainer, the remaining five as author. This also fixes the "No authors found in pipeline manifest" error when building the RO-Crate. - conf/igenomes.config: adopted the template's new strict-syntax params.genomes map literal and re-applied dev's customisations on top (GRCh37 dropped, pipeline-specific GRCh38 and CHM13 entries). - workflows/lrsomatic.nf, main.nf, docs/output.md, CHANGELOG.md, assets/multiqc_config.yml, docs/usage.md test command, and tests/nextflow.config pipelines_testdata_base_path: kept dev's. - .github/workflows/branch.yml: took the template's hardened form that passes the head repo through an env var instead of interpolating it directly into the shell. - conf/modules.config: kept dev's '.*:MULTIQC' selector, adopted the template's publishDir without saveAs. - ro-crate-metadata.json: regenerated with nf-core pipelines rocrate. Template changes pulled in: - New pre-commit hooks: check-added-large-files, check-merge-conflict and a local block-pipeline-outdir hook (.hooks/block_pipeline_outdir.sh). - New process_low_memory resource label in conf/base.config. - New .github/workflows/pr-comment.yml (split-out PR comment poster). - MultiQC module bumped to 1.35. - utils_nfschema_plugin gained a cli_typecast input, passed as false. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The 4.1.0 template's end-of-file-fixer pre-commit hook flags this pre-existing issue, which would fail the linting workflow. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR performs a manual nf-core pipeline template sync to nf-core/tools 4.1.0, updating repository scaffolding, CI workflows, configs, and bundled nf-core modules/subworkflows to match the newer template baseline.
Changes:
- Syncs template/CI infrastructure (new shared PR comment poster workflow, hardened PR workflows, updated action pins, and updated linting/nf-test behavior).
- Updates pipeline configuration and metadata (Nextflow minimum version bump, contributor metadata/RO-Crate regeneration,
conf/igenomes.configstrict map syntax, newprocess_low_memorylabel). - Bumps bundled MultiQC module and associated assets (MultiQC 1.35, updated snapshots, container references, and conda lockfiles).
Reviewed changes
Copilot reviewed 42 out of 44 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/nextflow.config | Adjusts AWS anonymous client config comment formatting. |
| subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config | Updates nf-schema plugin version used in tests. |
| subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test | Extends test inputs to cover new cli_typecast parameter. |
| subworkflows/nf-core/utils_nfschema_plugin/meta.yml | Documents new inputs for schema/help behavior and CLI typecasting. |
| subworkflows/nf-core/utils_nfschema_plugin/main.nf | Adds cli_typecast handling and updates option keys passed to nf-schema helpers. |
| subworkflows/local/utils_nfcore_lrsomatic_pipeline/main.nf | Updates call signature to pass new cli_typecast argument. |
| ro-crate-metadata.json | Regenerates RO-Crate metadata and updates embedded README/template/version metadata. |
| README.md | Updates badges for minimum Nextflow and template version. |
| nextflow.config | Fills contributor contribution fields and bumps minimum Nextflow version. |
| nextflow_schema.json | Drops directory-path format for igenomes_base. |
| modules/nf-core/multiqc/tests/main.nf.test.snap | Updates snapshots for MultiQC 1.35. |
| modules/nf-core/multiqc/meta.yml | Updates container/lockfile references for MultiQC 1.35 build IDs. |
| modules/nf-core/multiqc/main.nf | Updates MultiQC container URI/tag to 1.35. |
| modules/nf-core/multiqc/environment.yml | Bumps conda dependency to multiqc=1.35. |
| modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt | Adds new arm64 conda lockfile for updated MultiQC environment. |
| modules.json | Updates pinned SHAs for pulled nf-core modules/subworkflows. |
| docs/usage.md | Minor doc formatting fix (Nextflow version string). |
| docs/CONTRIBUTING.md | Fixes lint anchor link and a minor doc typo. |
| conf/modules.config | Updates MultiQC publishDir behavior to match template changes. |
| conf/igenomes.config | Migrates genomes config to strict params.genomes map literal syntax. |
| conf/containers_singularity_oras_arm64.config | Updates MultiQC container reference to 1.35 (arm64 ORAS). |
| conf/containers_singularity_oras_amd64.config | Updates MultiQC container reference to 1.35 (amd64 ORAS). |
| conf/containers_singularity_https_arm64.config | Updates MultiQC container blob URL to 1.35 (arm64 HTTPS). |
| conf/containers_singularity_https_amd64.config | Updates MultiQC container blob URL to 1.35 (amd64 HTTPS). |
| conf/containers_docker_arm64.config | Updates MultiQC container tag to 1.35 (arm64 Docker). |
| conf/containers_docker_amd64.config | Updates MultiQC container tag to 1.35 (amd64 Docker). |
| conf/containers_conda_lock_files_arm64.config | Updates MultiQC conda lockfile path wiring (arm64). |
| conf/containers_conda_lock_files_amd64.config | Updates MultiQC conda lockfile path wiring (amd64). |
| conf/base.config | Adds process_low_memory resource label. |
| CHANGELOG.md | Documents template sync, Nextflow bump, contributor metadata fix, and MultiQC bump. |
| .pre-commit-config.yaml | Adds new pre-commit hooks and bumps Prettier dependency. |
| .nf-core.yml | Updates declared nf-core template/tools version to 4.1.0. |
| .hooks/block_pipeline_outdir.sh | Adds local pre-commit hook to prevent committing pipeline output directories. |
| .gitignore | Fixes trailing newline/formatting. |
| .github/workflows/template-version-comment.yml | Refactors template-version commenting into an artifact-producing workflow. |
| .github/workflows/pr-comment.yml | Adds shared privileged workflow to post PR comments from artifacts. |
| .github/workflows/nf-test.yml | Updates checkout pins, Nextflow matrix, and adds PR comment artifact generation for latest-everything failures. |
| .github/workflows/linting.yml | Fixes always-true if: logic and adds PR comment artifact generation for lint results. |
| .github/workflows/fix_linting.yml | Updates action pins for lint auto-fix workflow. |
| .github/workflows/download_pipeline.yml | Updates workflow to check out code and changes .nf-core.yml parsing approach. |
| .github/workflows/clean-up.yml | Updates stale action pin. |
| .github/workflows/branch.yml | Hardens branch protection workflow and switches to artifact-based PR commenting. |
| .github/actions/nf-test/action.yml | Updates action pins for the composite nf-test action. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
60
to
64
| - name: Read .nf-core.yml | ||
| uses: pietrobolcato/action-read-yaml@9f13718d61111b69f30ab4ac683e67a56d254e1d # 1.1.0 | ||
| id: read_yml | ||
| with: | ||
| config: ${{ github.workspace }}/.nf-core.yml | ||
| run: | | ||
| echo "nf_core_version=$(yq '.nf_core_version' ${{ github.workspace }}/.nf-core.yml)" >> "$GITHUB_OUTPUT" | ||
|
|
Comment on lines
+47
to
+51
| - cli_typecast: | ||
| type: boolean | ||
| description: | | ||
| Whether to apply typecasting to the parameters given via the CLI before validation. | ||
| Set this to `null` to use the default behavior. |
Comment on lines
66
to
69
| "", | ||
| command | ||
| command, | ||
| false | ||
| ) |
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.
Template update for nf-core/tools 4.1.0
Manual template sync (
nf-core pipelines sync) from tools 4.0.2 → 4.1.0. This pipeline is not an official nf-core pipeline (is_nfcore: false), so no automated sync PR is ever opened — this was run by hand.Sync-history note
origin/TEMPLATEhad been left behind at tools 3.1.1: the local 4.0.1 sync commit was never pushed, and the 4.0.2 bump was applied todevby hand without a sync.origin/TEMPLATEhas now been fast-forwarded to the regenerated 4.1.0 build (1a17a98..be762da, no history rewrite), so future syncs work from a clean base. Because 4.0.2 was hand-applied, this merge also carries the 4.0.2 and 4.0.3 template changes.Template changes pulled in
check-added-large-files(--maxkb=5000),check-merge-conflict, and a localblock-pipeline-outdirhook backed by the new.hooks/block_pipeline_outdir.sh. Prettier dependency bumped to 3.9.6.conf/base.config— newprocess_low_memoryresource label.conf/igenomes.config— converted to the template's strict-syntaxparams.genomes = [...]map literal..github/workflows/pr-comment.yml— new split-out PR-comment poster (security hardening, switch to more secure split PR comment approach nf-core/tools#4342).branch.ymlnow passes the head repo through an env var instead of interpolating it straight into the shell..github/workflows/linting.yml— always-trueif:condition fixed.conf/modules.config— MultiQCpublishDirno longer usessaveAs(Template: Fix publishDir configuration in modules.config for multiqc nf-core/tools#4347)..conda-lock/files.utils_nfschema_plugingained acli_typecastinput.nextflow_schema.json—format: directory-pathdropped fromigenomes_base(Remove format constraint for igenomes_base nf-core/tools#4253).#lint-testsanchor, a dead link, and two typos.Conflict resolutions
Kept dev's version:
workflows/lrsomatic.nf,main.nf(still passes onlysamplesheet),docs/output.md,assets/multiqc_config.ymlreport_comment, thedocs/usage.mdGRCh38 example command,tests/nextflow.configpipelines_testdata_base_path, theparamsblock and contributor list innextflow.config, and the'.*:MULTIQC'selector inconf/modules.config.Took the template's version:
branch.ymlhardening, andmanifest.nextflowVersion.Reconstructed by hand:
conf/igenomes.config— took the template's new map syntax and re-applied dev's customisations on top:GRCh37dropped, and the pipeline-specificGRCh38/CHM13entries (GATK fasta,ascat_*,centromere_bed,pon_file,bed_file,vep_*,gnomad,dbsnp,onekgenomes,colors,asap) rewritten inkey : value,form. The new strict-syntaxnextflow-lintpre-commit hook passes on the result.ro-crate-metadata.json— regenerated withnf-core pipelines rocrate.!>=25.10.4(was!>=25.04.0), taken from the template. The nf-test CI matrix and the README badge were bumped to match. This raises the minimum Nextflow version for users — flagging it explicitly since it is the one change here that is not cosmetic.manifest.contributorscontributionfields were empty for all seven contributors, which is why the RO-Crate build loggedNo authors found in pipeline manifest. Now filled: @ljwharbers and @robert-a-forsyth as['author', 'maintainer'], the other five as['author'](matching the README credits).Also included: a missing trailing newline in
.gitignore, which the newend-of-file-fixerhook flags (pre-existing, would have failed the linting workflow).Testing
prek run --all-files— all 7 hooks pass, including the new strict-syntaxnextflow-lintover the rewrittenigenomes.config.nf-core pipelines lint— run locally; see the checks on this PR for the authoritative result.nf-test tests/default.nf.test --profile debug,test,apptainer— submitted as a slurm job on wICE (apptainer rather than docker, since there is no docker daemon on the cluster). Expect snapshot updates from the MultiQC 1.35 bump; the remaining profiles are left to this PR's CI.🤖 Generated with Claude Code