Commit graph static-site-deploy/tests/test_static_site.py
Author SHA1 Message Date
ffb46edc65 feat(gandalf): declare the not-found page in bunny.toml
All checks were successful
Test / test (push) Successful in 6s
How a site answers missing paths now belongs to its repository like its
edge rules: bunny.toml declares [site] not_found as "default", "spa" or
a page from the build such as "/404.html". The action reads and sends
the table on start and finalize; the gateway validates it before the
upload and applies it to the Storage Zone at finalization, recording
and purging only when it changed. A deployment without [site] resets
the default; older action versions leave the setting alone.

The console's Settings tab only shows the applied value, and the admin
API no longer sets it. The maintainer guide and llms.txt describe the
setting under Configuration.
2026-10-02 23:57:33 +02:00
c242db40a1 feat(static-site-deploy): deploy with the workflow's OIDC identity
All checks were successful
Test / test (push) Successful in 9s
Without BUNNY_STORAGE_PASSWORD, the action now requests the running
workflow's OIDC identity token (Forgejo with enable-openid-connect,
GitHub with id-token: write) for the gateway's audience and starts the
deployment with it. It takes the Storage Zone password from the
gateway's answer, masks it in the log, plans and uploads with it, and
finalizes or aborts with a fresh token. A dry run in this mode stays
local. Password deployments work as before.

action.yml finds its script under FORGEJO_ACTION_PATH or
GITHUB_ACTION_PATH, so the action also runs on GitHub Actions.
2026-10-02 23:29:58 +02:00
4490557f13 feat(static-sites): let project sites declare Bunny edge rules
All checks were successful
Test / test (push) Successful in 6s
Project sites can pass a TOML file of edge rules (redirects, status
codes, blocking, response headers, cache times) to the deploy action.
The gateway validates them when a deployment starts and reconciles its
own rules on the site's Pull Zones when it finalizes, deleting dropped
rules and purging when a rule changed. Actions that could reach beyond
the site, such as origin changes, are not available.

The purge retry is limited to recorded purge failures, so a deployment
whose rules failed to apply cannot be completed by a purge alone.
2026-10-02 17:14:42 +02:00
411010ef5a feat: coordinate static site deployments through Gandalf
All checks were successful
Test / test (push) Successful in 8s
2026-07-21 23:26:34 +02:00
dec3f970f3 Add Gandalf Bunny infrastructure gateway
All checks were successful
Test / test (push) Successful in 8s
2026-07-21 18:14:02 +02:00
10132c10e3 perf(static-sites): parallelize Bunny transfers 2026-07-20 02:02:47 +02:00
d9ea6cf9b7 fix(static-sites): retry Bunny zone credential propagation 2026-07-20 00:37:47 +02:00
86964aa187 feat(static-sites): add scoped Bunny purge gateway
All checks were successful
Test / test (push) Successful in 12s
2026-07-17 19:50:31 +02:00
d40d2837f5 Test static deploy action without pip
All checks were successful
Test / test (push) Successful in 12s
2026-07-15 16:34:06 +02:00
38ed25fb76 Add public Forgejo static site deploy action
Some checks failed
Test / test (push) Failing after 15s
2026-07-15 16:18:50 +02:00