diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da9b683..8bc8e7a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,3 +39,32 @@ jobs: run: yarn build - name: Test run: yarn lint && yarn test + + validate-schemas: + name: Validate JSON Schemas + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Setup Node.js + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: "22.17.x" + cache: "yarn" + - name: Install dependencies + run: yarn install --immutable + - name: Build code (required for schema generation) + run: yarn build:code + - name: Generate schemas + run: yarn build:schema + - name: Check for schema changes + run: | + if ! git diff --exit-code schemas/; then + echo "Error: JSON schemas in schemas/ directory are out of sync!" + echo "Please run 'yarn build:schema' and commit the changes." + echo "" + echo "Changes detected:" + git diff schemas/ + exit 1 + fi + echo "✓ All schemas are up to date"