Astro's dist/ is a website — give it a URL
Astro's default static output already emits a plain static site in dist/. No edge adapter, no platform lock-in — just files. Push the folder to ship.page and it's a link.
Drop your Astro report here — get a live link
.zip, folder, or single .html — free, no account, live for 7 days.
The artifact dead-end
Astro's deploy docs read like a vendor catalog: every platform wants your repo connected and an account created. For a quick preview of a content branch, that's all overhead.
The static output was the point of choosing Astro. dist/ needs a URL, not a pipeline.
Two lines to a live link
Build your output like you already do, then hand the folder to the action:
Build the site
npm run build.github/workflows/ci.yml
- uses: bitgate/ship-page-action@v1
if: always()
with:
path: dist/Or with plain curl — no account needed
cd dist && zip -qr - . | curl -fsS -X POST https://ship.page/deploy \
-H "Content-Type: application/zip" \
--data-binary @- | jq -r .urlpath: dist/ 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
- Zero adapter config — the default static build deploys untouched, islands and content collections included
- Hashed assets resolve at the drop root exactly like astro preview serves them locally
- Anonymous deploys are one curl; the GitHub Action turns it into a per-PR preview with comment: true
Questions
Do I need an SSR adapter?
No — this recipe covers output: 'static', the default. SSR output needs a server runtime; prerender the routes you want to share and deploy those files instead.
How is this different from astro preview?
astro preview serves dist/ on localhost. This puts the exact same folder on a public URL anyone can open.
Can I keep a preview per content branch?
Yes: name: docs-${{ github.ref_name }} plus an sp_ API key redeploys one stable URL per branch on every push.
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.