name: Docs # Builds the VitePress site and deploys it to GitHub Pages. # Enable once in the repo: Settings → Pages → Source: "GitHub Actions". # (This is a deploy workflow, separate from the disabled checks workflow.) on: push: branches: [main] paths: - docs/** - .github/workflows/docs.yml workflow_dispatch: {} permissions: contents: read pages: write id-token: write # Allow one concurrent deployment; always ship the newest. concurrency: group: pages cancel-in-progress: true env: HUSKY: '0' # git hooks are pointless in CI jobs: build: name: Build VitePress runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # full history so VitePress `lastUpdated` timestamps are accurate - name: Setup Pages uses: actions/configure-pages@v5 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 24 cache: npm - name: Install run: npm ci - name: Build docs run: npm run docs:build - name: Disable Jekyll run: touch docs/.vitepress/dist/.nojekyll - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: path: docs/.vitepress/dist deploy: name: Deploy to GitHub Pages runs-on: ubuntu-latest needs: build environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy id: deployment uses: actions/deploy-pages@v4