Add CI job for JSON schema validation #146
Workflow file for this run
This file contains hidden or 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: Test | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: Test | |
| strategy: | |
| matrix: | |
| node-version: | |
| - 20.19.x | |
| - 22.17.x | |
| os: | |
| - macos-latest | |
| - ubuntu-latest | |
| - windows-latest | |
| runs-on: "${{ matrix.os }}" | |
| steps: | |
| - run: git config --global core.autocrlf input | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: "${{ matrix.node-version }}" | |
| cache: "yarn" | |
| - name: Install dependencies | |
| run: yarn install --immutable | |
| - name: Build | |
| 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" |