1- # Sample workflow for building and deploying a Hugo site to GitHub Pages
1+ # Deploy Hugo site to GitHub Pages.
2+ # PaperMod lives at themes/PaperMod as a git submodule — checkout must include submodules
3+ # (see https://adityatelange.github.io/hugo-PaperMod/posts/papermod/papermod-installation/).
24name : Deploy Hugo site to Pages
35
46on :
5- # Runs on pushes targeting the default branch
67 push :
78 branches :
89 - main
9-
10- # Allows you to run this workflow manually from the Actions tab
1110 workflow_dispatch :
1211
13- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1412permissions :
1513 contents : read
1614 pages : write
1715 id-token : write
1816
19- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
2117concurrency :
2218 group : " pages"
2319 cancel-in-progress : false
2420
25- # Default to bash
2621defaults :
2722 run :
2823 shell : bash
2924
3025jobs :
31- # Build job
3226 build :
3327 runs-on : ubuntu-latest
3428 env :
35- HUGO_VERSION : 0.126 .0
29+ HUGO_VERSION : 0.157 .0
3630 steps :
3731 - name : Install Hugo CLI
3832 run : |
39- wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
40- && sudo dpkg -i ${{ runner.temp }}/hugo.deb
41- - name : Install Dart Sass
42- run : sudo snap install dart-sass
43- - name : Checkout
33+ wget -O ${{ runner.temp }}/hugo.deb " https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb"
34+ sudo dpkg -i ${{ runner.temp }}/hugo.deb
35+ hugo version
36+
37+ - name : Checkout repository and submodules
4438 uses : actions/checkout@v4
4539 with :
4640 submodules : recursive
4741 fetch-depth : 0
42+
43+ - name : Verify PaperMod theme
44+ run : test -f themes/PaperMod/theme.toml
45+
4846 - name : Setup Pages
4947 id : pages
50- uses : actions/configure-pages@v4
48+ uses : actions/configure-pages@v5
49+
5150 - name : Install Node.js dependencies
5251 run : " [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
52+
5353 - name : Build with Hugo
5454 env :
55- # For maximum backward compatibility with Hugo modules
5655 HUGO_ENVIRONMENT : production
5756 HUGO_ENV : production
5857 TZ : America/Los_Angeles
5958 run : |
6059 hugo \
6160 --gc \
6261 --minify \
63- --baseURL "${{ steps.pages.outputs.base_url }}/"
62+ --baseURL "${{ steps.pages.outputs.base_url }}/"
63+
6464 - name : Upload artifact
6565 uses : actions/upload-pages-artifact@v3
6666 with :
6767 path : ./public
6868
69- # Deployment job
7069 deploy :
7170 environment :
7271 name : github-pages
7675 steps :
7776 - name : Deploy to GitHub Pages
7877 id : deployment
79- uses : actions/deploy-pages@v4
78+ uses : actions/deploy-pages@v4
0 commit comments