GitHub action for validating YAML against a schema
Find a file
dependabot[bot] 298a8f153c
build(deps-dev): bump ts-jest from 27.0.7 to 27.1.2 (#53)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 27.0.7 to 27.1.2.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v27.0.7...v27.1.2)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Britton Hayes <46035482+brittonhayes@users.noreply.github.com>
2021-12-24 13:39:31 -08:00
.github fix: Changed merge trigger to pull_request 2021-12-24 13:34:14 -08:00
__tests__ fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
dist fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
src fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
.eslintignore Initial commit 2021-09-30 21:58:11 -07:00
.eslintrc.json fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
.gitattributes fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
.gitignore Initial commit 2021-09-30 21:58:11 -07:00
.prettierignore Initial commit 2021-09-30 21:58:11 -07:00
.prettierrc.json Initial commit 2021-09-30 21:58:11 -07:00
action.yml fix: adding branding to action.yml 2021-10-01 00:30:23 -07:00
CODEOWNERS fix: migrating to yaml validation action 2021-10-01 00:17:49 -07:00
jest.config.js Initial commit 2021-09-30 21:58:11 -07:00
LICENSE Initial commit 2021-09-30 21:58:11 -07:00
package.json build(deps-dev): bump ts-jest from 27.0.7 to 27.1.2 (#53) 2021-12-24 13:39:31 -08:00
README.md fix: more detailed readme 2021-10-01 00:42:24 -07:00
tsconfig.json Initial commit 2021-09-30 21:58:11 -07:00
yarn.lock build(deps-dev): bump ts-jest from 27.0.7 to 27.1.2 (#53) 2021-12-24 13:39:31 -08:00

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