GitHub Actions for Hugo ⚡️ Setup Hugo quickly and build your site fast. Hugo extended, Hugo Modules, Linux (Ubuntu), macOS, and Windows are supported.
https://github.com/marketplace/actions/hugo-setup
c7b570bed5 | ||
---|---|---|
.github | ||
.vscode | ||
__tests__ | ||
images | ||
lib | ||
node_modules | ||
src | ||
.editorconfig | ||
.eslintrc.json | ||
.gitignore | ||
.prettierrc.json | ||
LICENSE | ||
README.md | ||
action.yml | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
tsconfig.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 (TypeScript) action. We no longer build or pull a Hugo docker image. Thanks to this change, we can complete this action less than 4 sec. (A docker base action was taking about 1 min or more execution time to build or pull.)
OS (runs-on) | ubuntu-18.04 | macOS-10.14 | windows-2019 |
---|---|---|---|
Support | ✅️ | ✅️ | ✅️ |
Hugo type | Hugo Extended | Hugo Modules | Latest Hugo |
---|---|---|---|
Support | ✅️ | ✅️ | ✅️ |
Table of Contents
Getting started
⭐️ Create your workflow
An example workflow .github/workflows/gh-pages.yml
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
# runs-on: macOS-10.14
# runs-on: windows-2019
steps:
- uses: actions/checkout@master
# with:
# submodules: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.1
with:
hugo-version: '0.58.3'
- name: Build
run: hugo --gc --minify --cleanDestinationDir
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.4.0
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
Options
⭐️ Use Hugo extended
Set extended: true
to use a Hugo extended version.
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.1
with:
hugo-version: '0.58.3'
extended: true
⭐️ Use the latest version of Hugo
Set hugo-version: 'latest'
to use the latest version of Hugo.
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.1
with:
hugo-version: 'latest'
This action fetches the latest version of Hugo by hugo | Homebrew Formulae