Skip to content

Instantly share code, notes, and snippets.

@rustyeddy
Created July 31, 2022 18:44
Show Gist options
  • Save rustyeddy/dbe9c09524a3d38f4be47ff180af5a3f to your computer and use it in GitHub Desktop.
Save rustyeddy/dbe9c09524a3d38f4be47ff180af5a3f to your computer and use it in GitHub Desktop.
# Workflow to build and deploy site to Github Pages using Hugo
# Name of Workflow
name: github pages
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "deploy"
deploy:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Step 1 - Checks-out your repository under $GITHUB_WORKSPACE
- name: Checkout
uses: actions/checkout@v2
with:
submodules: false # Fetch Hugo themes
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
# Step 2 - Sets up the latest version of Hugo
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
# Step 3 - Clean and don't fail
- name: Clean public directory
run: rm -rf docs
# Step 4 - Builds the site using the latest version of Hugo
# Also specifies the theme we want to use
- name: Build
run: hugo --theme=focus
# Step 5 - Create name file
- name: Create cname file
run: echo 'rustyeddy.com' > docs/CNAME
# Step 6 - Push our generated site to our gh-pages branch
- name: Deploy
uses: rustyeddy/rustyeddy.com@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment