2019-05-21 22:57:34 +02:00
|
|
|
|
[![license](https://img.shields.io/github/license/peaceiris/actions-hugo.svg)](https://github.com/peaceiris/actions-hugo/blob/master/LICENSE)
|
|
|
|
|
[![release](https://img.shields.io/github/release/peaceiris/actions-hugo.svg)](https://github.com/peaceiris/actions-hugo/releases/latest)
|
|
|
|
|
[![GitHub release date](https://img.shields.io/github/release-date/peaceiris/actions-hugo.svg)](https://github.com/peaceiris/actions-hugo/releases)
|
2020-01-27 04:29:34 +01:00
|
|
|
|
![Test](https://github.com/peaceiris/actions-hugo/workflows/Test/badge.svg?branch=master&event=push)
|
2019-11-13 04:58:32 +01:00
|
|
|
|
[![CodeFactor](https://www.codefactor.io/repository/github/peaceiris/actions-hugo/badge)](https://www.codefactor.io/repository/github/peaceiris/actions-hugo)
|
2020-01-20 17:08:43 +01:00
|
|
|
|
[![codecov](https://codecov.io/gh/peaceiris/actions-hugo/branch/master/graph/badge.svg)](https://codecov.io/gh/peaceiris/actions-hugo)
|
2020-01-26 09:13:42 +01:00
|
|
|
|
[![Release Feed](https://img.shields.io/badge/release-feed-yellow)](https://github.com/peaceiris/actions-hugo/releases.atom)
|
2020-01-31 03:39:37 +01:00
|
|
|
|
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=peaceiris/actions-hugo)](https://dependabot.com)
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
2019-09-16 01:27:57 +02:00
|
|
|
|
<img width="400" alt="GitHub Actions for Hugo" src="./images/ogp.svg">
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-22 04:12:20 +01:00
|
|
|
|
## GitHub Actions for Hugo
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
|
|
|
|
- [gohugoio/hugo: The world’s fastest framework for building websites.](https://github.com/gohugoio/hugo)
|
|
|
|
|
|
2020-01-18 02:29:06 +01:00
|
|
|
|
This **Hugo Setup Action** can install **Hugo** to a virtual machine of **GitHub Actions**.
|
|
|
|
|
**Hugo extended** version, **Hugo Modules**, Linux (Ubuntu), macOS, and Windows are supported.
|
2019-09-17 13:39:59 +02:00
|
|
|
|
|
2020-01-18 02:29:06 +01:00
|
|
|
|
From `v2`, this Hugo Setup Action has migrated to a JavaScript (TypeScript) action.
|
|
|
|
|
We no longer build or pull a Hugo docker image.
|
2020-01-19 08:35:39 +01:00
|
|
|
|
Thanks to this change, we can complete this action in less than a few seconds.
|
2020-01-18 02:29:06 +01:00
|
|
|
|
(A docker base action was taking about 1 min or more execution time to build and pull a docker image.)
|
2019-09-21 03:41:21 +02:00
|
|
|
|
|
2019-11-07 00:21:32 +01:00
|
|
|
|
| OS (runs-on) | ubuntu-18.04 | macos-latest | windows-2019 |
|
2019-09-21 03:41:21 +02:00
|
|
|
|
|---|:---:|:---:|:---:|
|
|
|
|
|
| Support | ✅️ | ✅️ | ✅️ |
|
|
|
|
|
|
|
|
|
|
| Hugo type | Hugo Extended | Hugo Modules | Latest Hugo |
|
|
|
|
|
|---|:---:|:---:|:---:|
|
|
|
|
|
| Support | ✅️ | ✅️ | ✅️ |
|
2019-09-17 13:39:59 +02:00
|
|
|
|
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Table of Contents
|
|
|
|
|
|
2019-09-22 02:43:11 +02:00
|
|
|
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
|
|
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
2019-09-22 02:43:11 +02:00
|
|
|
|
|
|
|
|
|
- [Getting started](#getting-started)
|
|
|
|
|
- [⭐️ Create your workflow](#%EF%B8%8F-create-your-workflow)
|
|
|
|
|
- [Options](#options)
|
|
|
|
|
- [⭐️ Use Hugo extended](#%EF%B8%8F-use-hugo-extended)
|
|
|
|
|
- [⭐️ Use the latest version of Hugo](#%EF%B8%8F-use-the-latest-version-of-hugo)
|
2019-11-22 04:12:20 +01:00
|
|
|
|
- [Tips](#tips)
|
2019-11-22 04:15:00 +01:00
|
|
|
|
- [⭐️ Read Hugo version from file](#%EF%B8%8F-read-hugo-version-from-file)
|
2020-01-17 17:50:49 +01:00
|
|
|
|
- [CHANGELOG](#changelog)
|
2019-09-22 02:43:11 +02:00
|
|
|
|
- [License](#license)
|
2020-01-17 17:50:49 +01:00
|
|
|
|
- [About Maintainer](#about-maintainer)
|
|
|
|
|
- [Maintainer Notes](#maintainer-notes)
|
2019-09-22 02:43:11 +02:00
|
|
|
|
|
|
|
|
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
|
|
|
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Getting started
|
|
|
|
|
|
2019-09-22 02:43:11 +02:00
|
|
|
|
### ⭐️ Create your workflow
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
2019-10-19 09:52:57 +02:00
|
|
|
|
An example workflow `.github/workflows/gh-pages.yml` with [GitHub Actions for GitHub Pages]
|
2019-05-22 00:18:16 +02:00
|
|
|
|
|
2019-10-19 09:52:57 +02:00
|
|
|
|
[GitHub Actions for GitHub Pages]: https://github.com/peaceiris/actions-gh-pages
|
2019-05-22 00:18:16 +02:00
|
|
|
|
|
2019-09-09 18:25:39 +02:00
|
|
|
|
[![peaceiris/actions-gh-pages - GitHub](https://gh-card.dev/repos/peaceiris/actions-gh-pages.svg?fullname)](https://github.com/peaceiris/actions-gh-pages)
|
|
|
|
|
|
2019-05-26 23:22:45 +02:00
|
|
|
|
![peaceiris/actions-hugo latest version](https://img.shields.io/github/release/peaceiris/actions-hugo.svg?label=peaceiris%2Factions-hugo)
|
|
|
|
|
![peaceiris/actions-gh-pages latest version](https://img.shields.io/github/release/peaceiris/actions-gh-pages.svg?label=peaceiris%2Factions-gh-pages)
|
|
|
|
|
|
2019-08-15 13:26:15 +02:00
|
|
|
|
```yaml
|
2019-08-21 22:03:19 +02:00
|
|
|
|
name: github pages
|
2019-08-15 13:26:15 +02:00
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
push:
|
|
|
|
|
branches:
|
2020-01-17 17:56:05 +01:00
|
|
|
|
- master
|
2019-08-15 13:26:15 +02:00
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
build-deploy:
|
2019-08-21 19:54:38 +02:00
|
|
|
|
runs-on: ubuntu-18.04
|
2019-08-15 13:26:15 +02:00
|
|
|
|
steps:
|
2020-01-17 17:56:05 +01:00
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
|
# with:
|
|
|
|
|
# submodules: true
|
|
|
|
|
|
|
|
|
|
- name: Setup Hugo
|
|
|
|
|
uses: peaceiris/actions-hugo@v2
|
|
|
|
|
with:
|
|
|
|
|
hugo-version: '0.62.2'
|
|
|
|
|
# extended: true
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
run: hugo --minify
|
|
|
|
|
|
|
|
|
|
- name: Deploy
|
|
|
|
|
uses: peaceiris/actions-gh-pages@v2
|
|
|
|
|
env:
|
|
|
|
|
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
|
|
|
|
PUBLISH_BRANCH: gh-pages
|
|
|
|
|
PUBLISH_DIR: ./public
|
2019-05-21 22:57:34 +02:00
|
|
|
|
```
|
|
|
|
|
|
2019-11-22 04:19:08 +01:00
|
|
|
|
<div align="right">
|
|
|
|
|
<a href="#table-of-contents">Back to TOC ☝️</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
|
|
|
|
|
2019-09-16 01:27:57 +02:00
|
|
|
|
## Options
|
|
|
|
|
|
2019-09-22 02:43:11 +02:00
|
|
|
|
### ⭐️ Use Hugo extended
|
2019-09-16 01:27:57 +02:00
|
|
|
|
|
2019-09-22 02:37:17 +02:00
|
|
|
|
Set `extended: true` to use a Hugo extended version.
|
|
|
|
|
|
2019-09-16 01:27:57 +02:00
|
|
|
|
```yaml
|
|
|
|
|
- name: Setup Hugo
|
2019-11-28 12:47:38 +01:00
|
|
|
|
uses: peaceiris/actions-hugo@v2
|
2019-09-16 01:27:57 +02:00
|
|
|
|
with:
|
2020-01-17 17:46:42 +01:00
|
|
|
|
hugo-version: '0.62.2'
|
2019-09-16 01:27:57 +02:00
|
|
|
|
extended: true
|
|
|
|
|
```
|
|
|
|
|
|
2019-09-22 02:43:11 +02:00
|
|
|
|
### ⭐️ Use the latest version of Hugo
|
2019-09-16 01:27:57 +02:00
|
|
|
|
|
2019-09-22 02:37:17 +02:00
|
|
|
|
Set `hugo-version: 'latest'` to use the latest version of Hugo.
|
|
|
|
|
|
2019-09-16 01:27:57 +02:00
|
|
|
|
```yaml
|
|
|
|
|
- name: Setup Hugo
|
2019-11-28 12:47:38 +01:00
|
|
|
|
uses: peaceiris/actions-hugo@v2
|
2019-09-16 01:27:57 +02:00
|
|
|
|
with:
|
|
|
|
|
hugo-version: 'latest'
|
|
|
|
|
```
|
|
|
|
|
|
2019-09-17 21:11:47 +02:00
|
|
|
|
This action fetches the latest version of Hugo by [hugo | Homebrew Formulae](https://formulae.brew.sh/formula/hugo)
|
2019-09-16 01:27:57 +02:00
|
|
|
|
|
2019-11-22 04:19:08 +01:00
|
|
|
|
<div align="right">
|
|
|
|
|
<a href="#table-of-contents">Back to TOC ☝️</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
2019-09-16 01:27:57 +02:00
|
|
|
|
|
|
|
|
|
|
2019-11-22 04:12:20 +01:00
|
|
|
|
## Tips
|
|
|
|
|
|
2019-11-22 04:15:00 +01:00
|
|
|
|
### ⭐️ Read Hugo version from file
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
2019-11-28 12:43:56 +01:00
|
|
|
|
How to sync a Hugo version between a Docker Compose and a GitHub Actions workflow via `.env` file.
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
|
|
|
|
Write a `HUGO_VERSION` to the `.env` file like the following and push it to a remote branch.
|
|
|
|
|
|
|
|
|
|
```sh
|
2020-01-17 17:46:42 +01:00
|
|
|
|
HUGO_VERSION=0.62.2
|
2019-11-22 04:12:20 +01:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Next, add a step to read a Hugo version from the `.env` file.
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
- name: Read .env
|
|
|
|
|
id: hugo-version
|
|
|
|
|
run: |
|
|
|
|
|
. ./.env
|
2019-11-22 04:17:04 +01:00
|
|
|
|
echo "::set-output name=HUGO_VERSION::${HUGO_VERSION}"
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
|
|
|
|
- name: Setup Hugo
|
2019-11-28 12:47:38 +01:00
|
|
|
|
uses: peaceiris/actions-hugo@v2
|
2019-11-22 04:12:20 +01:00
|
|
|
|
with:
|
|
|
|
|
hugo-version: '${{ steps.hugo-version.outputs.HUGO_VERSION }}'
|
|
|
|
|
extended: true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Here is a `docker-compose.yml` example.
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
hugo:
|
|
|
|
|
container_name: hugo
|
|
|
|
|
image: "peaceiris/hugo:v${HUGO_VERSION}"
|
|
|
|
|
# image: peaceiris/hugo:v${HUGO_VERSION}-mod # Hugo Modules
|
|
|
|
|
ports:
|
|
|
|
|
- 1313:1313
|
|
|
|
|
volumes:
|
|
|
|
|
- ${PWD}:/src
|
|
|
|
|
command:
|
|
|
|
|
- server
|
|
|
|
|
- --bind=0.0.0.0
|
|
|
|
|
- --buildDrafts
|
|
|
|
|
```
|
|
|
|
|
|
2019-12-17 23:01:35 +01:00
|
|
|
|
The alpine base Hugo Docker image is provided on the following repository.
|
|
|
|
|
|
|
|
|
|
> [peaceiris/hugo-extended-docker: Hugo alpine base Docker image (Hugo extended and Hugo Modules)](https://github.com/peaceiris/hugo-extended-docker)
|
|
|
|
|
|
2020-01-17 17:54:59 +01:00
|
|
|
|
<div align="right">
|
|
|
|
|
<a href="#table-of-contents">Back to TOC ☝️</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
2019-11-22 04:12:20 +01:00
|
|
|
|
|
|
|
|
|
|
2020-01-17 17:50:49 +01:00
|
|
|
|
## CHANGELOG
|
|
|
|
|
|
|
|
|
|
- [CHANGELOG.md](CHANGELOG.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-05-21 22:57:34 +02:00
|
|
|
|
## License
|
|
|
|
|
|
2019-08-15 13:26:15 +02:00
|
|
|
|
- [MIT License - peaceiris/actions-hugo]
|
2019-05-21 22:57:34 +02:00
|
|
|
|
|
|
|
|
|
[MIT License - peaceiris/actions-hugo]: https://github.com/peaceiris/actions-hugo/blob/master/LICENSE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-17 17:50:49 +01:00
|
|
|
|
## About Maintainer
|
|
|
|
|
|
|
|
|
|
- [peaceiris homepage](https://peaceiris.com/)
|
|
|
|
|
|
2019-05-22 14:01:05 +02:00
|
|
|
|
|
2020-01-17 17:50:49 +01:00
|
|
|
|
|
|
|
|
|
## Maintainer Notes
|
|
|
|
|
|
|
|
|
|
Run `npm` and `git commit` commands on a container.
|
|
|
|
|
|
|
|
|
|
**On Host**
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# Docker
|
|
|
|
|
make build
|
|
|
|
|
make run
|
|
|
|
|
make run cmd="env"
|
|
|
|
|
make test
|
|
|
|
|
make commit msg="chore: Add Makefile"
|
|
|
|
|
|
|
|
|
|
# Release
|
|
|
|
|
./release.sh
|
|
|
|
|
```
|
2019-11-22 04:19:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div align="right">
|
|
|
|
|
<a href="#table-of-contents">Back to TOC ☝️</a>
|
|
|
|
|
</div>
|