An emerging standard for describing workflows is the RO Crate object: https://github.com/workflowhub-eu/about/wiki/Workflow-RO-Crate
There is a new python library for creating and manipulating these: https://github.com/researchobject/ro-crate-py
It would be nice to add this to nf-core/tools and make a new subcommand that can automatically make an RO Crate for any given Nextflow pipeline.
Once we have this functionality, we can potentially automate listing on WorkflowHub.eu for each release using GitHub Actions.
See metadata spec for RO Crate workflows here: https://github.com/ResearchObject/ro-crate/blob/bioschemas-workflow-0.5/docs/1.1-DRAFT/index.md#workflows-and-scripts
As a first step you may want to consider just simply adding a ro-crate-metadata.json file in the root of each nf-core workflow repository (you could even hand-craft it). Not sure if this would duplicate any metadata you already express elsewhere...
Then, assuming you want everything in the repository to be in the RO-Crate, you can then get a valid, zipped RO-Crate through GitHub's "Download ZIP" button.

Oh nice, thanks for the tip @fbacall! Do you have any examples of what this file looks like?
I'm pretty sure that all of the metadata it contains will be duplicated. But if we have some kind of tool to generate it then we can automate this and check that it's up to date with a linting CI test.
I don't suppose it's possible to put this file anywhere other than the root directory? (Guessing not by your comment about downloading the whole repo). We are collecting so many root-level config files, it makes it difficult for newcomers to see which files are the important ones...
I heard you were talking about Sarek :+1:
Oh nice, thanks for the tip @fbacall! Do you have any examples of what this file looks like?
Example: https://gist.github.com/fbacall/9750806cf702cacbd6bec46dd9187db1
I don't suppose it's possible to put this file anywhere other than the root directory? (Guessing not by your comment about downloading the whole repo). We are collecting so many root-level config files, it makes it difficult for newcomers to see which files are the important ones...
Sadly not, according to the spec. Understood about config-bloat. If, like you said, you have enough metadata held elsewhere to generate the RO-Crate metadata, then it probably does make more sense to just generate the whole RO-Crate in a GitHub action linked to a release.
Most helpful comment
As a first step you may want to consider just simply adding a
ro-crate-metadata.jsonfile in the root of each nf-core workflow repository (you could even hand-craft it). Not sure if this would duplicate any metadata you already express elsewhere...Then, assuming you want everything in the repository to be in the RO-Crate, you can then get a valid, zipped RO-Crate through GitHub's "Download ZIP" button.
