Skip to content

Commit 9c1e86d

Browse files
committed
chore(ci): add docs workflow
1 parent 36a306f commit 9c1e86d

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

.github/workflows/docs.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- 'README.md'
8+
- 'site/**'
9+
- '.github/workflows/docs.yml'
10+
pull_request:
11+
branches: [main]
12+
paths:
13+
- 'README.md'
14+
- 'site/**'
15+
- '.github/workflows/docs.yml'
16+
release:
17+
types: [published]
18+
# Allow manual triggering
19+
workflow_dispatch:
20+
21+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
22+
permissions:
23+
contents: read
24+
pages: write
25+
id-token: write
26+
27+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
28+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
29+
concurrency:
30+
group: 'pages'
31+
cancel-in-progress: false
32+
33+
jobs:
34+
# Build job
35+
build:
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
40+
41+
- name: Setup Node.js
42+
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
43+
with:
44+
node-version: '24'
45+
cache: 'npm'
46+
47+
- name: Install dependencies
48+
run: npm ci
49+
50+
- name: Build documentation
51+
run: npm run docs
52+
53+
- name: Setup Pages
54+
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5
55+
56+
- name: Upload artifact
57+
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
58+
with:
59+
path: ./docs
60+
61+
# Deployment job
62+
deploy:
63+
# Only deploy on main branch pushes (not PRs) or releases
64+
if: (github.ref == 'refs/heads/main' && github.event_name == 'push') || github.event_name == 'release'
65+
environment:
66+
name: github-pages
67+
url: ${{ steps.deployment.outputs.page_url }}
68+
runs-on: ubuntu-latest
69+
needs: build
70+
steps:
71+
- name: Deploy to GitHub Pages
72+
id: deployment
73+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4

0 commit comments

Comments
 (0)