name: Docs Site Checks on: workflow_call: permissions: contents: read jobs: docs-site-checks: runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version: 26 cache: npm cache-dependency-path: website/package-lock.json - name: grab npm 12 run: | npm i -g npm@12 - name: Install website dependencies uses: ./.github/actions/retry with: command: npm ci working-directory: website - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.11" - name: Install ascii-guard uses: ./.github/actions/retry with: command: 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: Regenerate per-skill docs pages + catalogs run: python3 website/scripts/generate-skill-docs.py - name: Lint docs diagrams run: npm run lint:diagrams working-directory: website - name: Build Docusaurus # Build only the default (en) locale in CI — the full bilingual # build runs in deploy-site.yml on push-to-main / release. # Same pattern Docusaurus uses internally (build:fast --locale en). run: npm run build:fast working-directory: website