Skip to content

New RFC: switching to topic channels for collecting versions #46

@maxulysse

Description

@maxulysse

Have you read the RFC docs?

  • Yes, I have read and understood the RFC docs

Summary

Topic channels are now (as of Nextflow 25.04) stable.
This would greatly simplify the way we can handle versions collection in the scripts.

Champion

@maxulysse

Background & Motivation

Mixing MODULES.out.versions has been our way to deal with collecting modules versions.
But it leads to a lot of redundant code, and it's not looking too nice.
Topic was created to relieve that problem.
It is now stable enough, so we should begin switching to it.

Year old plan from @mashehu and @mirpedrol

https://github.com/nf-core/modules/issues/4517#issuecomment-2194150864

Progressively move to topics, break dependency with nf-core/modules#5834
Use a topic name versions_file with old versions.yml path output style
Use a topic name versions for a new eval syntax
Have pipeline-level logic to load the old files and process into a string that matches the new eval syntax
Pipeline logic to take the new style strings and generate the required YAML files for reporting
This way we can progressively switch to the new eval syntax in modules, which will be a rather large and manual effort.

Same with topics - the old channels will remain for now with the same channel names, so the old syntax should continue to work.

Goals

  • Use topic in modules/subworkflows
  • Use topic in pipelines

Non-Goals

No response

References

Sub-issues

Metadata

Metadata

Labels

acceptedApproved by core and maintainers teamnew-rfc

Type

No type

Projects

Status

accepted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions