Home

Awesome

Hugo Github Action

GitHub Action for building and publishing Hugo-built site.

Inspired by BryanSchuetz/jekyll-deploy-gh-pages

Secrets

Create Deploy Key

  1. Generate deploy key ssh-keygen -t rsa -f hugo -q -N ""
  2. Then go to "Settings > Deploy Keys" of repository
  3. Add your public key within "Allow write access" option.
  4. Copy your private deploy key to GIT_DEPLOY_KEY secret in "Settings > Secrets"

Environment Variables

Example

push.yml (New syntax)

Deploy to gh-pages branch: (under same repo)

name: Deploy to GitHub Pages

on: push

jobs:
  hugo-deploy-gh-pages:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: hugo-deploy-gh-pages
      uses: khanhicetea/gh-actions-hugo-deploy-gh-pages@master
      env:
        GIT_DEPLOY_KEY: ${{ secrets.GIT_DEPLOY_KEY }}
        HUGO_VERSION: "0.53"

Deploy to Remote Branch:

name: Deploy to Remote Branch

on:
  push:
    branches:
      - master
      
jobs:
  hugo-deploy-gh-pages:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: hugo-deploy-gh-pages
      uses: khanhicetea/gh-actions-hugo-deploy-gh-pages@master
      env:
        GITHUB_REMOTE_REPOSITORY: <username>/<remote_repository_name>
        GITHUB_BRANCH: <custom_branch>
        GIT_DEPLOY_KEY: ${{ secrets.GIT_DEPLOY_KEY }}
        HUGO_VERSION: "0.58.3"

Note: make sure to add GIT_DEPLOY_KEY in secrets of mentioned GITHUB_REMOTE_REPOSITORY

main.workflow (Old syntax - deprecated)

workflow "Deploy to GitHub Pages" {
  on = "push"
  resolves = ["hugo-deploy-gh-pages"]
}

action "hugo-deploy-gh-pages" {
  uses = "khanhicetea/gh-actions-hugo-deploy-gh-pages@master"
  secrets = [
    "GIT_DEPLOY_KEY"
  ]
  env = {
    HUGO_VERSION = "0.53"
    GITHUB_BRANCH = "master"
  }
}

Other actions

LICENSE

Copyright (c) 2019

Licensed under the MIT License.