|
name: Build documentation site |
|
|
|
on: |
|
push: |
|
branches: [develop, main] |
|
paths: |
|
- 'docs/**' |
|
- '.github/workflows/Docs.yml' |
|
pull_request: |
|
paths: |
|
- 'docs/**' |
|
- '.github/workflows/Docs.yml' |
|
workflow_dispatch: |
|
|
|
concurrency: |
|
group: docs-${{ github.workflow }}-${{ github.ref }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
build: |
|
name: Build Docusaurus |
|
runs-on: ubuntu-latest |
|
defaults: |
|
run: |
|
working-directory: docs |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v6 |
|
with: |
|
fetch-depth: 0 |
|
lfs: true |
|
|
|
- name: Setup Bun |
|
uses: oven-sh/setup-bun@v2 |
|
with: |
|
bun-version: 1.4.2 |
|
|
|
- name: Install dependencies |
|
run: bun install --frozen-lockfile |
|
|
|
- name: Check TypeScript |
|
run: bun run typecheck |
|
|
|
- name: Build site |
|
run: bun run build |
|
|
|
- name: Upload Pages artifact |
|
if: github.event_name != 'pull_request' |
|
uses: actions/upload-pages-artifact@v3 |
|
with: |
|
path: docs/build |
|
|
|
deploy: |
|
name: Deploy to GitHub Pages |
|
if: github.event_name != 'pull_request' |
|
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 |