Linting or Validation

I recall using the reana-client validate command, which is described here https://awesome-workshop.github.io/reproducible-analyses/02-first-example/index.html, to be very useful in validating that the yaml I have written is correct prior to try to run an actual workflow. Whilst developing my own workflow, I’ve found that one of the most common mistakes I’m making is in failing to match up the outputs and the inputs properly, or I’m missing inputs altogether. This causes crashes that are not terribly insightful (at least to me) and eventually I spot my error. I wonder if RECAST has something similar to validate everything that is supposed to tie together to create the graph for the workflow?

To check the validity of a yaml file you can do something like

python -c 'import yaml, sys; yaml.safe_load(sys.stdin)' < file.yaml

but this will just verify that the yaml is valid, it won’t validate that the yaml conforms to the recast schema.