mirror of
https://github.com/nexu-io/open-design.git
synced 2026-09-20 06:15:06 +08:00
dba64f2e45
* fix(landing): shorten HTML edge TTL and host-purge after production deploy Long s-maxage=3600 + stale-while-revalidate=86400 left locale HTML (/zh/pricing/, /de/pricing/, …) on different edge objects after landing-page-production, so some languages looked deployed and others did not. Cap HTML/edge docs at s-maxage=60 without multi-hour SWR, and purge open-design.ai by hostname after pages deploy (token needs Zone Cache Purge). Hashed _astro assets stay immutable. * ci(landing): add manual host-purge workflow for edge cache recovery Allows testing CLOUDFLARE_API_TOKEN Cache Purge permission and one-click recovery without a full production rebuild. Production deploy still purges after pages deploy. * ci(landing): support purge-only production workflow mode Lets us exercise CLOUDFLARE_API_TOKEN Cache Purge without a full rebuild, and keeps host purge as a post-deploy job after a real promote. * ci(landing): move edge-cache purge helper to workflow-owned TypeScript pnpm guard rejects project-owned .mjs, so the new purge helper blocked Validate workspace. Convert it to TypeScript and move it next to the other landing workflow helpers under .github/scripts/, invoked with --experimental-strip-types like landing-page-deploy-feishu.ts. Also drop the purge-only production mode: blog-indexing-on-deploy listens on successful landing-page-production runs and cannot tell a cache-only recovery run from a real deploy. Purging without a rebuild already has a dedicated entry point in landing-edge-cache-purge, so production purge now runs only after a successful deploy.