Skip to content

Add automated validation for JSON schemas #5

Add automated validation for JSON schemas

Add automated validation for JSON schemas #5

name: Validate Schemas
on:
pull_request:
paths:
- '**/theme.json'
- '**/style/*.json'
- '**/assets/fonts/*.json'
jobs:
validate-schemas:
runs-on: ubuntu-latest
steps:
- name: 'PR commits + 1'
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: ${{ env.PR_FETCH_DEPTH }}
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
- name: 'Fetch relevant history from origin'
run: git fetch origin ${{ github.event.pull_request.base.ref }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: './package-lock.json'
- name: Install dependencies
run: npm ci
- name: Validate changed schemas
run: |
set -x
modified_files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} -- '**/theme.json' '**/styles/*.json' '**/assets/fonts/*.json')
echo "Modified files: $modified_files"
node theme-utils.mjs validate-schema "$modified_files"