name: Docs Site Checks

on:
  pull_request:
    paths:
      - 'website/**'
      - '.github/workflows/docs-site-checks.yml'
  workflow_dispatch:

permissions:
  contents: read

jobs:
  docs-site-checks:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5  # v4

      - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020  # v4
        with:
          node-version: 20
          cache: npm
          cache-dependency-path: website/package-lock.json

      - name: Install website dependencies
        run: npm ci
        working-directory: website

      - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065  # v5
        with:
          python-version: '3.11'

      - name: Install ascii-guard
        run: python -m pip install ascii-guard==2.3.0 pyyaml==6.0.3

      - name: Extract skill metadata for dashboard
        run: python3 website/scripts/extract-skills.py

      - name: Lint docs diagrams
        run: npm run lint:diagrams
        working-directory: website

      - name: Build Docusaurus
        run: npm run build
        working-directory: website
