mirror of
https://github.com/brittonhayes/validate-yaml.git
synced 2024-11-23 05:30:56 -05:00
GitHub action for validating YAML against a schema
add4c43773
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
---|---|---|
.github | ||
__tests__ | ||
dist | ||
src | ||
.eslintignore | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
action.yml | ||
CODEOWNERS | ||
jest.config.js | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
Validate YAML
Github action to validate yaml files against a JSON schema
Usage
Validate your YAML files against a JSON structure by providing a schema path and a list of files.
- name: Validate YAML
uses: brittonhayes/validate-yaml
with:
schemaPath: 'schema.json'
files: |
example/foo.yaml
Example JSON Schema
{
"test": {
"structure": {
"myValue": "string",
"myValue2": "string"
}
}
}
Example Valid YAML for this schema
---
test:
structure:
myValue: '1'
myValue2: '2'
More Complex Schema
- Use
?
to indicate an optional field - Specify the preferred type with values like "string" or "number"
- Replicate deeply nested structures in JSON to represent expected YAML
{
"structure": {
"school": {
"description?": "string",
"code": "number",
"principal": {
"name": "string"
},
"classRooms": [
{
"name": "string",
"id": "number",
"location?": {
"floor": "string",
"building": "string"
}
}
],
"teachers": ["string"]
}
}
}