name: Validate links data on: push: branches: [main] paths: - "data/links.example.json" - "data/links.schema.json" - ".github/workflows/validate-data.yml" pull_request: paths: - "data/links.example.json" - "data/links.schema.json" - ".github/workflows/validate-data.yml" jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: JSON syntax (jq) run: | set -e # data/links.json is gitignored (personal content); only validate what's tracked. for f in data/links.example.json data/links.schema.json; do echo "Checking $f" jq empty "$f" done - name: Schema validation (ajv) run: | npx --yes ajv-cli@5 validate \ --spec=draft2020 \ --strict=false \ -s data/links.schema.json \ -d data/links.example.json