| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: Deploy documentation
- on:
- push:
- branches: [master]
- paths:
- - '.github/workflows/docs-pages.yml'
- - 'docs/**'
- - 'package.json'
- - 'pnpm-lock.yaml'
- - 'pnpm-workspace.yaml'
- - 'scripts/project-doc-site.ts'
- - 'scripts/project-doc-site.spec.ts'
- - 'website/**'
- workflow_dispatch:
- concurrency:
- group: github-pages
- cancel-in-progress: false
- permissions:
- contents: read
- env:
- PRIMARY_NODE_VERSION: '24'
- jobs:
- build:
- runs-on: ubuntu-latest
- permissions:
- contents: read
- pages: read
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-node@v6
- with:
- node-version: ${{ env.PRIMARY_NODE_VERSION }}
- - name: Enable corepack (pnpm)
- run: corepack enable
- - name: Resolve pnpm store path
- id: pnpm-store
- run: echo "path=$(pnpm store path --silent)" >> "$GITHUB_OUTPUT"
- - uses: actions/cache@v4
- with:
- path: ${{ steps.pnpm-store.outputs.path }}
- key: ${{ runner.os }}-node-${{ env.PRIMARY_NODE_VERSION }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- restore-keys: |
- ${{ runner.os }}-node-${{ env.PRIMARY_NODE_VERSION }}-pnpm-
- - name: Install (immutable)
- run: pnpm install --frozen-lockfile
- - name: Configure Pages
- id: pages
- uses: actions/configure-pages@v5
- - name: Verify and build documentation
- env:
- DOCS_BASE: ${{ steps.pages.outputs.base_path }}/
- run: pnpm run doc-sync
- - name: Upload Pages artifact
- uses: actions/upload-pages-artifact@v4
- with:
- path: website/.dist
- deploy:
- needs: build
- runs-on: ubuntu-latest
- permissions:
- pages: write
- id-token: write
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
|