nf-core / nf-core/tools

nf-core subworkflows lint isn't comparing output channels between the main.nf and meta.yml

Open
#4,066 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of the bug

For example, nf-core subworkflows lint bcl_demultiplex passes, even though the versions channel is listed in the meta.yml but doesn't exist in the main.nf

Command used and terminal output
nf-core subworkflows lint bcl_demultiplex
INFO     Linting subworkflow: 'bcl_demultiplex'                                                                                                                      

╭─ [!] 4 Subworkflow Test Warnings ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                  ╷                                                              ╷                                                                                 │
│ Subworkflow name │ File path                                                    │ Test message                                                                    │
│╶─────────────────┼──────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────╴│
│ bcl_demultiplex  │ subworkflows/nf-core/bcl_demultiplex/main.nf                 │ main_nf_include_versions: Included component 'BCL2FASTQ' versions are not added │
│                  │                                                              │ in main.nf. Can be ignored if the module is using topic channels                │
│ bcl_demultiplex  │ subworkflows/nf-core/bcl_demultiplex/main.nf                 │ main_nf_include_versions: Included component 'BCLCONVERT' versions are not      │
│                  │                                                              │ added in main.nf. Can be ignored if the module is using topic channels          │
│ bcl_demultiplex  │ subworkflows/nf-core/bcl_demultiplex/main.nf                 │ main_nf_version_emitted: Subworkflow does not emit software version. Can be     │
│                  │                                                              │ ignored if the subworkflow is using topic channels                              │
│ bcl_demultiplex  │ subworkflows/nf-core/bcl_demultiplex/tests/main.nf.test.snap │ test_snap_versions: versions not found in snapshot file. Can be ignored if the  │
│                  │                                                              │ subworkflow is using topic channels                                             │
│                  ╵                                                              ╵                                                                                 │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭───────────────────────╮
│ LINT RESULTS SUMMARY  │
├───────────────────────┤
│ [✔]  25 Tests Passed  │
│ [!]   4 Test Warnings │
│ [✗]   0 Tests Failed  │
╰───────────────────────╯

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with nf-core subworkflows lint bcl_demultiplex, then compare the versions channel in subworkflows/nf-core/bcl_demultiplex/main.nf with its declaration in meta.yml. Trace the subworkflow lint checks and add coverage for mismatched output channels; done means the example no longer passes silently and the relevant lint test reports the discrepancy.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.