#75·go

How to write a GitHub Action to deploy a GitHub Pages site generated by gopages

Author: erazemkCreated Oct 4, 2024Updated Oct 4, 2024

Hi (again),

similarly to #74, I also tried creating a GitHub action that would deploy the generated documentation to GitHub pages. My workflow looks like so:

name: Deploy documentation to GitHub pages

 on:
   # Runs on pushes targeting the default branch
   push:
     branches: ["main"]

   # Allows you to run this workflow manually from the Actions tab
   workflow_dispatch:

 # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
 permissions:
   contents: read
   pages: write
   id-token: write

 # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
 # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
 concurrency:
   group: "pages"
   cancel-in-progress: false

 jobs:
   docs:
     runs-on: ubuntu-latest
     environment:
       name: github-pages
       url: ${{ steps.deployment.outputs.page_url }}
     steps:
       - name: Checkout the repo
       - uses: actions/checkout@v4

       - name: Generate documentation with gopages
         uses: actions/setup-go@v5
         with:
           go-version: '1.23'
         run: go run github.com/johnstarich/go/gopages@latest \
           -brand-title '<repo>' \
           -brand-description '<repo>' \
           -internal

       - name: Upload the generated pages
         uses: actions/upload-pages-artifact@v3
         with:
           path: ./dist

       - name: Deploy to GitHub Pages
         id: deployment
         uses: actions/deploy-pages@v4

When running this action, I get the following error:

Generating godoc static pages for module... github.com/devrev/airdrop-common
pipe: pipe: pipe: Error generating page: [404]
...
<a bunch of html>

I have no idea what went wrong, since running the command works perfectly locally. Is there anything I can do to fix this?