# 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: [ main ] # 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: true # 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 public # Step 4 - Builds the site using the latest version of Hugo # Also specifies the theme we want to use - name: Build run: hugo --theme=stack # Step 5 - Push our generated site to our gh-pages branch - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./public