66 lines
1.5 KiB
YAML
66 lines
1.5 KiB
YAML
name: Deploy Documentation
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
paths:
|
||
- "docs/**"
|
||
- "website/**"
|
||
- "tools/build-docs.mjs"
|
||
- ".github/workflows/docs.yaml"
|
||
workflow_dispatch:
|
||
|
||
permissions:
|
||
contents: read
|
||
pages: write
|
||
id-token: write
|
||
|
||
concurrency:
|
||
group: "pages"
|
||
# No big win in setting this to true — risk of cancelling a deploy mid-flight.
|
||
cancel-in-progress: false
|
||
|
||
jobs:
|
||
build:
|
||
if: false # disabled – workflow disabled for fork
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout repository
|
||
uses: actions/checkout@v4
|
||
with:
|
||
# Full history needed for Starlight's lastUpdated timestamps (git log)
|
||
fetch-depth: 0
|
||
|
||
- name: Setup Node.js
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version-file: ".nvmrc"
|
||
cache: "npm"
|
||
|
||
- name: Install dependencies
|
||
run: npm ci
|
||
|
||
- name: Build documentation
|
||
env:
|
||
# Override site URL from GitHub repo variable if set
|
||
# Otherwise, astro.config.mjs will compute from GITHUB_REPOSITORY
|
||
SITE_URL: ${{ vars.SITE_URL }}
|
||
run: npm run docs:build
|
||
|
||
- name: Upload artifact
|
||
uses: actions/upload-pages-artifact@v3
|
||
with:
|
||
path: build/site
|
||
|
||
deploy:
|
||
environment:
|
||
name: github-pages
|
||
url: ${{ steps.deployment.outputs.page_url }}
|
||
runs-on: ubuntu-latest
|
||
needs: build
|
||
steps:
|
||
- name: Deploy to GitHub Pages
|
||
id: deployment
|
||
uses: actions/deploy-pages@v4
|