name: Lint

on:
  pull_request:
  push:
    tags:
      - v*
    branches:
      - main

jobs:
  lint:
    name: Lint
    strategy:
      matrix:
        go-version: [1.24.x, 1.25.x]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-go@v6
        with:
          go-version: ${{matrix.go-version}}

      - uses: actions/checkout@v6

      - name: golangci-lint
        uses: golangci/golangci-lint-action@v9
        with:
          version: v2.8.0

  lint-jsonschema:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-python@v6
        with:
          python-version: 3.14

      - uses: actions/checkout@v6

      - name: install check-jsonschema
        run: python -m pip install 'check-jsonschema==0.27.3'

      - name: check-jsonschema (metaschema)
        run: check-jsonschema --check-metaschema website/src/public/schema.json
