-
Notifications
You must be signed in to change notification settings - Fork 209
Description
Description of feature
It would be nice to have a linting check that every subworkflow and module called within a given script has their versions mixed into the ch_versions
channel and sent downstream.
This would help developers to ensure they do not forget version reporting for all steps of the pipeline - something which is very important for nf-core pipelines in terms of reprdocubility etc.
I could envision this as picking up all the names in all the include
calls (typically at the top of a workflow script), the nsearching for each name with a .out.versions
suffix through that given script.
If e.g. FOO.out.versions
then you get a lint warning to ensure versions are reported for that module/subworkflow.
Furthermore, an additional check could be made so that for subworkflows that the string does not include .first()
at the end as we do for modules - subworkflows should have N > 1 modules, thus you don't want to pick just the first entry of all of those modules.
(EDIT I didn't realise there was a lint check for the first suggestion, I guess because I never forget to mix my versions 😎)