name: Deploy Docs to GitHub Pages

on:
    push:
        branches:
            - main
        paths:
            - 'docs/**'

jobs:
    build-and-deploy:
        runs-on: ubuntu-latest
        permissions:
            contents: write
        steps:
            - name: Checkout repository
              uses: actions/checkout@v4

            - name: Setup pnpm
              uses: pnpm/action-setup@v2
              with:
                  version: 10.13.1

            - name: Setup Node.js
              uses: actions/setup-node@v4
              with:
                  node-version: '22'
                  cache: 'pnpm'

            - name: Install dependencies
              run: pnpm install --frozen-lockfile

            - name: Build documentation site
              run: pnpm docs:build

            - name: Create CNAME file
              run: echo "docs.openarchiver.com" > docs/.vitepress/dist/CNAME

            - name: Deploy to GitHub Pages
              uses: peaceiris/actions-gh-pages@v3
              with:
                  github_token: ${{ secrets.GITHUB_TOKEN }}
                  publish_dir: docs/.vitepress/dist
