fileformats.schema - convert.converter.outputs is not required for co… #139
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: JSON check | |
on: | |
push: | |
paths: | |
- '**.json' | |
- '**.yml' | |
- '**.yaml' | |
env: | |
PYTHON_VERSION: 3.11.6 | |
jobs: | |
check-schemata: | |
name: Check Schemata | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Install dependencies | |
run: python -m pip install jsonschema pyyaml | |
- name: Check JSON Syntax | |
uses: limitusus/json-syntax-check@v2 | |
with: | |
pattern: "\\.json$" | |
- name: Check YAML Syntax | |
uses: ibiqlik/action-yamllint@v3 | |
with: | |
file_or_dir: ./*.yml | |
config_data: | | |
extends: default | |
rules: | |
line-length: disable | |
- name: Check JSON Schemata | |
run: | | |
for schema in *.schema.json; do | |
if [[ -f "${schema%.schema.json}.json" ]]; then | |
echo "${schema%.schema.json}.json"; | |
python3 -c 'import json,jsonschema,sys;jsonschema.validate(json.load(open(sys.argv[1])), json.load(open(sys.argv[2])))' "${schema%.schema.json}.json" "$schema"; | |
fi; | |
done | |
- name: Check YAML Schemata | |
run: | | |
for schema in *.schema.json; do | |
for ext in "yaml" "yml"; do | |
if [[ -f "${schema%.schema.json}.$ext" ]]; then | |
echo "${schema%.schema.json}.$ext"; | |
python3 -c 'import yaml,json,jsonschema,sys;jsonschema.validate(yaml.load(open(sys.argv[1]), yaml.Loader), json.load(open(sys.argv[2])))' "${schema%.schema.json}.$ext" "$schema"; | |
fi; | |
done | |
done |