Skip to content

A Github action for validating YAML based on VS Code settings

License

Notifications You must be signed in to change notification settings

ipdxco/validate-yaml-schema

Repository files navigation

Validate YAML Schema

This action validates YAML files using the yaml.schemas settings for the VS Code YAML Extension

All you need is a .vscode/settings.json document at the root of the repository that contains the yaml.schemas setting

Inputs

settingsFile (optional)

Location of the schema configuration file.

The default location is .vscode/settings.json, you can change it do a different location but it but still be a json document containing the yaml.schemas config. See the VS Code YAML Extension for how to structure the config.

yamlSchemasJson (optional)

The yaml.schemas config as inline JSON

Instead of adding the yaml.schemas config to a file, you can instead supply it as inline JSON, e.g.:

      - uses: pl-strflt/validate-yaml-schema@v1
        with:
          yamlSchemasJson: |
            {
                "http://json.schemastore.org/composer": ["/*"],
                "file:///home/johnd/some-schema.json": ["some.yaml"],
                "../relative/path/schema.json": ["/config*.yaml"],
                "/Users/johnd/some-schema.json": ["some.yaml"],
            }

Outputs

validFiles

A comma separated list of files that passed the schema validation.

invalidFiles

A comma separated list of files that failed the schema validation.

Schema validation fails if any results are returned from the YAML Language Server

Example usage

You'll need to precede the action with actions/checkout@v3 as this action will read files from the GITHUB_WORKSPACE directory

steps:
  - uses: actions/checkout@v2
  - uses: pl-strflt/validate-yaml-schema@v1

Thanks

This action has been forked from this repo:

This action has been made by 're-mixing' logic from these repos: