1
- name : docs
1
+ # Sample workflow for building and deploying a VitePress site to GitHub Pages
2
+ #
3
+ name : Deploy VitePress site to Pages
2
4
3
5
on :
4
- # trigger deployment on every push to main branch
6
+ # Runs on pushes targeting the `main` branch. Change this to `master` if you're
7
+ # using the `master` branch as the default branch.
5
8
push :
6
9
branches : [master]
7
- # trigger deployment manually
10
+
11
+ # Allows you to run this workflow manually from the Actions tab
8
12
workflow_dispatch :
9
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
+
10
26
jobs :
11
- docs :
27
+ # Build job
28
+ build :
12
29
runs-on : ubuntu-latest
13
-
14
30
steps :
15
- - uses : actions/checkout@v3
31
+ - name : Checkout
32
+ uses : actions/checkout@v4
16
33
with :
17
- # fetch all commits to get last updated time or other git log info
18
- fetch-depth : 0
19
-
20
- - name : Setup Node.js
21
- uses : actions/setup-node@v3
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@v4
22
39
with :
23
- # choose node.js version to use
24
- node-version : 18
25
- # cache deps for pnpm
26
- cache : npm
27
-
28
- # run build script
29
- - run : npm ci
30
- - run : npm run build --if-present
31
- - run : npm run docs:build
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 : |
48
+ npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build
49
+ touch docs/.vitepress/dist/.nojekyll
50
+ - name : Upload artifact
51
+ uses : actions/upload-pages-artifact@v3
52
+ with :
53
+ path : docs/.vitepress/dist
32
54
33
- # please check out the docs of the workflow for more details
34
- # @see https://github.com/crazy-max/ghaction-github-pages
55
+ # Deployment job
56
+ deploy :
57
+ environment :
58
+ name : github-pages
59
+ url : ${{ steps.deployment.outputs.page_url }}
60
+ needs : build
61
+ runs-on : ubuntu-latest
62
+ name : Deploy
63
+ steps :
35
64
- name : Deploy to GitHub Pages
36
- uses : crazy-max/ghaction-github-pages@v2
37
- with :
38
- # deploy to gh-pages branch
39
- target_branch : gh-pages
40
- # deploy the default output dir of VuePress
41
- build_dir : docs/.vuepress/dist
42
- env :
43
- # @see https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret
44
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
65
+ id : deployment
66
+ uses : actions/deploy-pages@v4
0 commit comments