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.
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 theconfig.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 ofconfig.yaml
- would always remain accurate and would dynamically update whenever changes are made to the schema.@gnodar01 Correct me if I understood otherwise