name: docs

on:
  pull_request:
    branches: ["0.2"]
  push:
    branches: ["0.2"]
  workflow_dispatch:
permissions:
  id-token: write
  pages: write
jobs:
  checks:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: website
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true
      - uses: actions/setup-node@v4
        with:
          node-version: 18.x
      - name: setup python
        uses: actions/setup-python@v5
        with:
          python-version: "3.8"
      - name: pydoc-markdown install
        run: |
          python -m pip install --upgrade pip
          pip install pydoc-markdown pyyaml termcolor
          # Pin databind packages as version 4.5.0 is not compatible with pydoc-markdown.
          pip install databind.core==4.4.2 databind.json==4.4.2
      - name: pydoc-markdown run
        run: |
          pydoc-markdown
      - name: quarto install
        working-directory: ${{ runner.temp }}
        run: |
          wget -q https://github.com/quarto-dev/quarto-cli/releases/download/v1.5.23/quarto-1.5.23-linux-amd64.tar.gz
          tar -xzf quarto-1.5.23-linux-amd64.tar.gz
          echo "$(pwd)/quarto-1.5.23/bin/" >> $GITHUB_PATH
      - name: Process notebooks
        run: |
          python process_notebooks.py render
      - name: Test Build
        run: |
          if [ -e yarn.lock ]; then
          yarn install --frozen-lockfile --ignore-engines
          yarn build
          elif [ -e package-lock.json ]; then
          npm ci
          npm run build
          else
          npm i --legacy-peer-deps
          npm run build
          fi
