name: options

on:
  push:
  pull_request:

jobs:
  validate-conf:
    strategy:
      matrix:
        node-version:
          - 14

    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v7

      - name: Set up Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v7
        with:
          node-version: ${{ matrix.node-version }}

      - name: Install ajv-cli
        run: npm install -g ajv-cli

      - name: Migrate schema # https://github.com/ajv-validator/ajv-cli/issues/199
        run: ajv migrate -s src/config/options.schema.json

      - name: Validate conf
        run: ajv validate -s src/config/options.schema.json -d "conf/**/*.json"

      - name: Validate incremental tests
        run: ajv validate -s src/config/options.schema.json -d "tests/incremental/*/*.json"
