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 : [main]
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@v3
33+ with :
34+ fetch-depth : 0 # Not needed if lastUpdated is not enabled
35+ # - uses: pnpm/action-setup@v2 # 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@v3
39+ with :
40+ node-version : 18
41+ cache : npm # or pnpm / yarn
42+ - name : Setup Pages
43+ uses : actions/configure-pages@v3
44+ - name : Install dependencies
45+ run : npm ci # or pnpm install / yarn install / bun install
46+ - name : Build with VitePress
47+ run : |
48+ npm run docs:deploy-github-pages
49+ - name : Upload artifact
50+ uses : actions/upload-pages-artifact@v2
51+ with :
52+ path : docs/.vitepress/dist
53+
54+ # Deployment job
55+ deploy :
56+ environment :
57+ name : github-pages
58+ url : ${{ steps.deployment.outputs.page_url }}
59+ needs : build
60+ runs-on : ubuntu-latest
61+ name : Deploy
62+ steps :
63+ - name : Deploy to GitHub Pages
64+ id : deployment
65+ uses : actions/deploy-pages@v2
0 commit comments