1+ # Sample workflow for building and deploying a VitePress site to GitHub Pages
2+ #
3+ name : Deploy VitePress site to Pages
4+
5+ on :
6+ push :
7+ branches : [master]
8+
9+ # Allows you to run this workflow manually from the Actions tab
10+ workflow_dispatch :
11+
12+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13+ permissions :
14+ contents : read
15+ pages : write
16+ id-token : write
17+
18+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20+ concurrency :
21+ group : pages
22+ cancel-in-progress : false
23+
24+ jobs :
25+ # Build job
26+ build :
27+ runs-on : ubuntu-latest
28+ steps :
29+ - name : Checkout
30+ uses : actions/checkout@v4
31+ with :
32+ fetch-depth : 0 # Not needed if lastUpdated is not enabled
33+ # - uses: pnpm/action-setup@v3 # Uncomment this block if you're using pnpm
34+ # with:
35+ # version: 9 # Not needed if you've set "packageManager" in package.json
36+ # - uses: oven-sh/setup-bun@v1 # Uncomment this if you're using Bun
37+ - name : Setup Node
38+ uses : actions/setup-node@v4
39+ with :
40+ node-version : 20
41+ cache : npm # or pnpm / yarn
42+ - name : Setup Pages
43+ uses : actions/configure-pages@v4
44+ - name : Install dependencies
45+ run : npm ci # or pnpm install / yarn install / bun install
46+ - name : Build with VitePress
47+ run : npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build
48+ - name : Upload artifact
49+ uses : actions/upload-pages-artifact@v3
50+ with :
51+ path : docs/.vitepress/dist
52+
53+ # Deployment job
54+ deploy :
55+ environment :
56+ name : github-pages
57+ url : ${{ steps.deployment.outputs.page_url }}
58+ needs : build
59+ runs-on : ubuntu-latest
60+ name : Deploy
61+ steps :
62+ - name : Deploy to GitHub Pages
63+ id : deployment
64+ uses : actions/deploy-pages@v4
0 commit comments