validate-yaml/README.md
2021-10-01 00:42:24 -07:00

70 lines
1.2 KiB
Markdown

# 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.
```yaml
- name: Validate YAML
uses: brittonhayes/validate-yaml
with:
schemaPath: 'schema.json'
files: |
example/foo.yaml
```
### Example JSON Schema
```json
{
"test": {
"structure": {
"myValue": "string",
"myValue2": "string"
}
}
}
```
### Example Valid YAML for this schema
```yaml
---
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
```json
{
"structure": {
"school": {
"description?": "string",
"code": "number",
"principal": {
"name": "string"
},
"classRooms": [
{
"name": "string",
"id": "number",
"location?": {
"floor": "string",
"building": "string"
}
}
],
"teachers": ["string"]
}
}
}
```