docs: record workflow split between Gitea Actions and GitHub Pages
Update README, AGENTS.md, ARCHITECTURE.md, and INGESTION.md to reflect that the scheduled refresh and container image publishing run on Gitea Actions under .gitea/workflows/, while GitHub Actions under .github/ builds with BASE_PATH and deploys to GitHub Pages when synced.
This commit is contained in:
1 parent
0826f24db9
commit
0d1ccff6b2
4 files changed
+20
-19
No files matched your search
@@ -215,7 +215,7 @@ changing. Reads are confined to `public/` by resolving the path and checking it
|
||||
string looks like.
|
||||
|
||||
`scripts/refresh-sources.ts` (`bun run refresh`) is what fills `snapshots/`, and it is the only code
|
||||
here that touches the network. `.github/workflows/refresh.yml` runs it at 05:27 and 17:27 UTC and
|
||||
here that touches the network. `.gitea/workflows/refresh.yml` runs it at 05:27 and 17:27 UTC and
|
||||
commits only when a page actually changed. It stands in for the unbuilt scheduler and enforces the
|
||||
same conduct in code — the 6h floor, one request, no retries, conditional headers, per-host spacing,
|
||||
robots failing closed. A source that has failed `BROKEN_AFTER_FAILURES` (3) cycles running is
|
||||
@@ -223,17 +223,17 @@ reported as `broken` and fails the run *after* the commit; see `AGENTS.md` § Sc
|
||||
that ordering is load-bearing.
|
||||
|
||||
`Dockerfile` builds and serves this; the image runs typecheck and tests during build, ships no source
|
||||
or toolchain, and runs unprivileged. `.github/workflows/ci.yml` and `.gitlab-ci.yml` run the same
|
||||
gates and publish it.
|
||||
or toolchain, and runs unprivileged. `.gitea/workflows/ci.yml` and `.gitlab-ci.yml` run the same
|
||||
gates and publish it, while `.github/workflows/ci.yml` builds and deploys to GitHub Pages.
|
||||
|
||||
### Hosting under a subpath
|
||||
|
||||
Assets resolve against a `<base href>` substituted at build time, the feed URL resolves against
|
||||
`document.baseURI` so deep links work, and the service worker derives its paths from its own
|
||||
registration scope. `BASE_PATH=/gacha-event-tracker/ bun run build` for any host that serves the app
|
||||
from a subpath; without it a subpath deploy 404s on every asset. CI no longer sets it — the container
|
||||
image is what gets deployed and `serve.ts` serves from `/` — but the mechanism stays, because a
|
||||
subpath deploy is a hosting decision rather than a build one.
|
||||
from a subpath (such as GitHub Pages); without it a subpath deploy 404s on every asset. GitHub's
|
||||
`.github/workflows/ci.yml` sets it automatically for Pages deployments, while Gitea's container
|
||||
image serves from `/`.
|
||||
|
||||
### Offline
|
||||
|
||||
|
||||
+1
-1
@@ -392,7 +392,7 @@ annotated on the run page, listed in the job summary with its status code, and c
|
||||
conduct for why that ordering is load-bearing.
|
||||
|
||||
**Built: `scripts/refresh-sources.ts`** (`bun run refresh`), scheduled by
|
||||
`.github/workflows/refresh.yml`. It takes its adapters, store, robots gate, fetch and clock by
|
||||
`.gitea/workflows/refresh.yml`. It takes its adapters, store, robots gate, fetch and clock by
|
||||
injection, so the whole runner is tested offline against a fake fetch. A fetched body is *rejected*
|
||||
— the previous snapshot survives — when it fails `canParse`, throws, or yields zero events; storing
|
||||
an empty parse would make the feed build prefer it over the fixture and silently empty a game's
|
||||
|
||||
Reference in new issue
Block a user