38 lines
947 B
YAML
38 lines
947 B
YAML
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
|