File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Deploy Next.js site to Pages
2+
3+ on :
4+ push :
5+ branches : ["main"]
6+ workflow_dispatch :
7+
8+ permissions :
9+ contents : read
10+ pages : write
11+ id-token : write
12+
13+ concurrency :
14+ group : " pages"
15+ cancel-in-progress : false
16+
17+ jobs :
18+ build :
19+ runs-on : ubuntu-latest
20+ steps :
21+ - name : Checkout
22+ uses : actions/checkout@v4
23+
24+ - name : Setup Node.js
25+ uses : actions/setup-node@v4
26+ with :
27+ node-version : ' lts/*'
28+ cache : ' pnpm'
29+
30+ - name : Install pnpm
31+ uses : pnpm/action-setup@v3
32+ with :
33+ version : latest
34+ run_install : false
35+
36+ - name : Get pnpm store directory
37+ id : pnpm-cache
38+ shell : bash
39+ run : |
40+ echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
41+
42+ - name : Setup pnpm cache
43+ uses : actions/cache@v4
44+ with :
45+ path : ${{ steps.pnpm-cache.outputs.STORE_PATH }}
46+ key : ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
47+ restore-keys : |
48+ ${{ runner.os }}-pnpm-store-
49+
50+ - name : Install dependencies
51+ run : pnpm install --frozen-lockfile
52+
53+ - name : Setup Pages
54+ uses : actions/configure-pages@v5
55+ with :
56+ static_site_generator : next
57+
58+ - name : Build with Next.js
59+ run : pnpm next build
60+
61+ - name : Static HTML export with Next.js
62+ run : pnpm next export
63+
64+ - name : Upload artifact
65+ uses : actions/upload-pages-artifact@v3
66+ with :
67+ path : ./out
68+
69+ deploy :
70+ environment :
71+ name : github-pages
72+ url : ${{ steps.deployment.outputs.page_url }}
73+ runs-on : ubuntu-latest
74+ needs : build
75+ steps :
76+ - name : Deploy to GitHub Pages
77+ id : deployment
78+ uses : actions/deploy-pages@v4
File renamed without changes.
You can’t perform that action at this time.
0 commit comments