deploy-docs-pages.yml
1 name: Deploy Docs Pages 2 3 on: 4 push: 5 branches: 6 - main 7 workflow_dispatch: 8 9 permissions: 10 contents: read 11 pages: write 12 id-token: write 13 14 concurrency: 15 group: pages 16 cancel-in-progress: false 17 18 jobs: 19 build: 20 runs-on: ubuntu-latest 21 environment: 22 name: github-pages 23 steps: 24 - name: Checkout 25 uses: actions/checkout@v6 26 27 - name: Setup Pages 28 id: pages 29 uses: actions/configure-pages@v5 30 31 - name: Setup Node 22 32 uses: actions/setup-node@v6 33 with: 34 node-version: "22" 35 36 - name: Setup pnpm 37 uses: pnpm/action-setup@v4 38 with: 39 version: 9.15.0 40 41 - name: Enable corepack 42 run: corepack enable 43 44 - name: Install docs dependencies 45 working-directory: docs 46 run: pnpm install --frozen-lockfile 47 48 - name: Build docs 49 working-directory: docs 50 env: 51 # Use root base when custom domain is configured via CNAME. 52 DOCS_BASE: ${{ hashFiles('docs/public/CNAME') != '' && '/' || steps.pages.outputs.base_path }} 53 run: pnpm docs:build 54 55 - name: Upload artifact 56 uses: actions/upload-pages-artifact@v4 57 with: 58 path: docs/.vitepress/dist 59 60 deploy: 61 runs-on: ubuntu-latest 62 needs: build 63 environment: 64 name: github-pages 65 url: ${{ steps.deployment.outputs.page_url }} 66 steps: 67 - name: Deploy to GitHub Pages 68 id: deployment 69 uses: actions/deploy-pages@v4