Linting for release post items
Why is this change being made?
In !38861 (merged), support is added to generate the release post by assembling many yaml files but many of the yaml files are not valid currently.
We should improve feedback via CI pipelines when adding release post items to verify they are valid in a basic sense so that people don't need to work out why a file in master isn't showing up.
The linter:
- verifies the all unreleased items are valid YAML
- verifies they have basic conformance to the schema (required and optional fields)
- verifies the
stages
andcategories
fields are valid for feature blocks
Example output:
fail data/release_posts/unreleased/board-wip-limits.yml: expected Hash to have key: 'categories', only had ["name", "available_in", "documentation_link", "reporter", "stage", "issue_url", "mr_url", "image_url", "description"] (/rec:'features')
fail data/release_posts/unreleased/board-wip-limits.yml: invalid stage, 'Kanban' name not found in data/categories.yml
pass data/release_posts/unreleased/board-wip-limits.yml
Closes #6317 (closed)
Does this MR meet the acceptance criteria?
Conformity
-
Added description to this MR explaining the reasons for the proposed change, per say-why-not-just-what
Edited by James Ramsay (ex-GitLab)