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+ # Runs on pushes targeting the `main` branch. Change this to `master` if you're
7+ # using the `master` branch as the default branch.
8+ push :
9+ branches : [master]
10+
11+ # Allows you to run this workflow manually from the Actions tab
12+ workflow_dispatch :
13+
14+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
15+ permissions :
16+ contents : read
17+ pages : write
18+ id-token : write
19+
20+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
21+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
22+ concurrency :
23+ group : pages
24+ cancel-in-progress : false
25+
26+ jobs :
27+ # Build job
28+ build :
29+ runs-on : ubuntu-latest
30+ steps :
31+ - name : Checkout
32+ uses : actions/checkout@v4
33+ with :
34+ fetch-depth : 0 # Not needed if lastUpdated is not enabled
35+ # - uses: pnpm/action-setup@v3 # Uncomment this if you're using pnpm
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