Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brittonhayes/validate-yaml

GitHub action for validating YAML against a schema
https://github.com/brittonhayes/validate-yaml

Last synced: 16 days ago
JSON representation

GitHub action for validating YAML against a schema

Awesome Lists containing this project

README

        

# 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"]
}
}
}
```