Share your Hugo site without the hosting song and dance
hugo renders your whole site into public/ — a complete static website. That's the entire deploy artifact. One POST and it's live on its own subdomain.
Drop your Hugo report here — get a live link
.zip, folder, or single .html — free, no account, live for 7 days.
The artifact dead-end
Hugo builds in milliseconds, then the sharing story starts: GitHub Pages branch juggling, platform accounts, or 'just clone and run hugo server'. The fastest static generator deserves a faster preview story.
Theme tweaks and content drafts especially — you want a link in the PR, not a hosting integration per repo.
Two lines to a live link
Build your output like you already do, then hand the folder to the action:
Build the site
hugo --baseURL /.github/workflows/ci.yml
- uses: bitgate/ship-page-action@v1
if: always()
with:
path: public/Or with plain curl — no account needed
cd public && zip -qr - . | curl -fsS -X POST https://ship.page/deploy \
-H "Content-Type: application/zip" \
--data-binary @- | jq -r .urlpath: public/ deploys exactly what the tool wrote — no detection to configure. The link goes in the job summary — add comment: true and it lands on the pull request too.
What you get
- The whole public/ folder deploys as-is — permalinks, taxonomies and assets resolve at the drop's root
- hugo --baseURL / makes links root-relative, so the same build works on any URL the drop lands on
- Named drops on paid plans give your main branch a permanent URL that redeploys in place
Questions
What about baseURL?
Build previews with hugo --baseURL / — links become root-relative and resolve on whatever subdomain the drop lands on. A hardcoded https:// baseURL bakes your production domain into every link.
Why not GitHub Pages?
Pages wants a gh-pages branch or a Pages workflow, and one site per repo. This is a POST — public/ goes up unchanged, as many drops as you want.
How big can the site be?
Anonymous drops take up to 500 files; an API key raises that to 900, and chunked uploads go to 10,000 — enough for very large sites.
Try it on your next run
Anonymous deploys need no account and no key — paste the step, get a link. When you want stable URLs that redeploy in place, an API key and a name are all it takes.
Need to share the report with someone outside GitHub? How to share a GitHub Actions artifact without a login.