bilayer-containers / bilayers

https://bilayers.org
3 stars 1 forks source link

Implement YAML validator for validating config.yaml #35

Closed rajavishah closed 2 months ago

rajavishah commented 3 months ago

Before starting with the documentation step, @gnodar01 suggested we implement a YAML validator file with a schema for each high-level keyword. This validator would be integrated into the CI pipeline to check any newly generated config.yaml files that come through a PR request. The CI would ensure that the YAML file conforms against the schema, and if it doesn’t, the config file for any new algorithm would be rejected.

From my understanding, our parse.py file is capable of extracting details of all high-level keywords, such as inputs, outputs, citations, etc. This information could then be passed to the YAML-validator to ensure that the config.yaml file is okay against required specifications.

The second step could be if somehow we can automate the documentation generation from the YAML validator file (mainly how the config.yaml file would look like). Hence, the part in documentation which says the skeleton of config.yaml - would always remain accurate and would dynamically update whenever changes are made to the schema.

@gnodar01 Correct me if I understood otherwise