GitHub Actions for Hugo ⚡️ Setup Hugo quickly and build your site fast. Hugo extended, Hugo Modules, Linux (Ubuntu), macOS, and Windows are supported.
.github | ||
images | ||
node_modules | ||
.eslintrc.json | ||
.gitignore | ||
action.yml | ||
get-latest-version.js | ||
index.js | ||
index.test.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
GitHub Actions for Hugo extended and Modules
We can run Hugo on a virtual machine of GitHub Actions by this Hugo action. Hugo extended version and Hugo Modules are supported.
From v2.0.0
, this Hugo action migrated to a JavaScript action. We no longer build or pull a Hugo docker image. Thanks to this change, we can complete this action less than 1 sec. (Docker base action was taking about 1 min execution time to build or pull.)
Getting started
Create .github/workflows/gh-pages.yml
An example workflow with GitHub Actions for deploying to GitHub Pages with Static Site Generators
name: github pages
on:
push:
branches:
- master
jobs:
build-deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@master
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.0.0
with:
hugo-version: '0.58.2'
- name: Build
run: hugo --gc --minify --cleanDestinationDir
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.3.1
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
Options
Hugo extended
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.0.0
with:
hugo-version: '0.58.2'
extended: true
Latest version of Hugo
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.0.0
with:
hugo-version: 'latest'
Note: This action gets a Hugo latest version by GitHub API. Please be aware of GitHub API Rate limiting