ci(docs): docs.beardrive.ai deploys itself again (#152)

docs.beardrive.ai was serving a build from around 2026-07-19 — three weeks
and 38 docs commits stale. /manual/hooks/ 404s while /manual/skills-and-hooks/,
deleted in #85, still serves; the sitemap has no <lastmod> and robots.txt is
Cloudflare's managed content-signals file with no Sitemap: line, so #140
plainly never shipped.

The cause: the Pages project (beardrive-docs, docs.beardrive.ai) is a
direct-upload project with no Git provider. Someone ran `wrangler pages
deploy` by hand, then stopped, and nothing anywhere noticed — every check
this repo has runs during a deploy that was no longer happening.

docs.yml builds web/docs on PRs that touch it and deploys to Pages on pushes
to main. Not the Pages Git integration, deliberately: it clones shallow, and
astro.config.mjs reads each page's <lastmod> from the commit date behind it,
so a depth-1 checkout drops all 27 of them — hence fetch-depth: 0. It also
would rebuild the docs for every commit in a repo that is mostly Go.

The path filter includes internal/webapp/frontend/src/tw.css: the palette is
generated from that file, so it is a docs input even though it lives outside
web/docs (which is also why the checkout can't be sparse).

The post-deploy check:sitemap run is continue-on-error. Half of what it
checks — a Cloudflare-managed robots.txt shadowing ours, cache propagation
right after upload — isn't this repo's call, and a good deploy shouldn't go
red over it.

Needs CLOUDFLARE_API_TOKEN (Pages: Edit) and CLOUDFLARE_ACCOUNT_ID.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Snow Lee (Sungwon)
2026-08-11 18:28:32 -07:00
committed by GitHub
co-authored by Claude Opus 5
parent 37bd466bb7
commit 3d2acf658c
3 changed files with 86 additions and 1 deletions
+13
View File
@@ -117,6 +117,19 @@ to type.
Static output in `dist/`. Any static host works; build command `npm run build`,
output directory `dist`, project root `web/docs`.
Today that host is **Cloudflare Pages**, project `beardrive-docs`
(`docs.beardrive.ai`), deployed by `.github/workflows/docs.yml` on every push to
`main` that touches `web/docs/**` or the token source. It needs two repository
secrets: `CLOUDFLARE_API_TOKEN` (an account token with *Cloudflare Pages: Edit*)
and `CLOUDFLARE_ACCOUNT_ID`.
Not the Pages **Git integration**, deliberately: it clones shallow, which costs
every `<lastmod>` (see "Checkout depth"), and it would build the docs on commits
that cannot change them. The Pages project is a direct-upload project — nothing
deploys it but this workflow. That is also the failure mode to watch for: when
deploys were manual, they simply stopped, and the site sat three weeks stale
while every check that only runs *during* a deploy stayed green.
### Redirects
The docs were reorganized around the agent-first path, so three old URLs moved: