- Shell 100%
A Forgejo Action that publishes a static site to Fjord Pages: build (optional), then stream the output to the ingest endpoint (begin -> per-file PUT -> commit). Composite action (action.yml) wrapping deploy.sh (curl + jq). Pre-built upload works on any tier; build-on-push needs the instance runner add-on. MIT licensed. |
||
|---|---|---|
| examples | ||
| action.yml | ||
| deploy.sh | ||
| LICENSE | ||
| README.md | ||
Deploy to Fjord Pages
A Forgejo Action that publishes a static site to Fjord Pages. It builds
(optionally), then streams the output to the Pages ingest endpoint:
begin → per-file PUT → commit. See https://rasterhub.com/rasterstate/fjord-platform/src/branch/main/docs/PAGES_DESIGN.md and
https://rasterhub.com/rasterstate/fjord-platform/src/branch/main/docs/PAGES_INGEST.md.
It's the build-on-push convenience layer over the upload primitive: the same
begin/files/commit you could call from any CI or by hand. Build-on-push
runs on the instance's Actions runner, so it needs the runner add-on; without a
runner, do a pre-built upload (omit build-command, or run this from your own
CI) on any tier.
Usage
- uses: actions/checkout@v4
- uses: https://rasterhub.com/rasterstate/pages-deploy-action@v1
with:
site-id: ${{ vars.FJORD_PAGES_SITE_ID }}
deploy-token: ${{ secrets.FJORD_PAGES_DEPLOY_TOKEN }}
build-command: npm ci && npm run build # omit for a pre-built upload
output-dir: dist # default: public
Get the site-id and reveal a deploy-token from the instance's Pages panel
(Manage Pages). Store the token as an Actions secret; it's write-only and scoped
to that instance's sites.
Inputs
| Input | Required | Default | Notes |
|---|---|---|---|
site-id |
yes | The Pages site id from the dashboard. | |
deploy-token |
yes | Per-instance deploy token (use a secret). | |
output-dir |
no | public |
Directory of built files to upload. |
build-command |
no | `` | Runs before upload; empty = pre-built upload. |
ingest-url |
no | https://fjord.host/api/v1/pages/ingest |
Ingest endpoint base. |
Notes
- Needs
curlandjqon the runner (standard images have both). - Caps (per-plan size, file count) are enforced at
commit; an over-cap deploy is rejected and dropped, leaving the current site live.