From 346d08ad6aa6e49d3892e67fbb08a1790464b617 Mon Sep 17 00:00:00 2001 From: rain Date: Tue, 15 Sep 2026 17:45:37 -0400 Subject: [PATCH] Correct the deploy timing: Pages is cached, not instant Observed the public URL serving the previous build for ~3.5 minutes after a push. Responses carry x-pages-cache: true and cache-control: max-age=600, and a cache-busting query does not bypass it. The earlier claim of ~15s was wrong. AGENTS.md and deploy.sh now say to check the repo raw file FIRST: if that matches the local build the push landed and only the cache is behind, so don't start changing things. --- AGENTS.md | 18 +++++++++++++++--- deploy.sh | 10 ++++++++-- index.html | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 97acf4a..b1a0bc7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -149,14 +149,26 @@ Two deliberate choices: the **area maps keep a white background** (they reproduc ./deploy.sh "what changed" ``` -Builds, commits, pushes to `pages`. Pages redeploys in ~15s. Verify with: +Builds, commits, pushes to `pages`. + +**Do not expect the live site to update immediately.** Pages sits behind a cache +(`x-pages-cache: true`, `cache-control: public, max-age=600`), so the public URL can serve the +previous build for several minutes — observed between ~15 seconds and ~3.5 minutes. A +cache-busting query string does not bypass it. + +When the live copy looks stale, **check the repo before debugging the deployment**: ```bash -curl -s -L https://rain.pages.melonbread.xyz/la-li-lu-le-lo/ | sha256sum +# 1. did the push actually land? (this is the source of truth) +curl -s https://git.melonbread.xyz/rain/la-li-lu-le-lo/raw/branch/pages/index.html | sha256sum sha256sum index.html + +# 2. then, once those match, wait out the cache on the public URL +curl -s -L https://rain.pages.melonbread.xyz/la-li-lu-le-lo/ | sha256sum ``` -The two must match. A stale deploy is the most common confusing failure — check the hash before debugging anything else. +If (1) matches and (2) does not, it is the cache — wait, do not start changing things. If (1) +does not match, the push failed and that is the real problem. ## Conventions diff --git a/deploy.sh b/deploy.sh index 7395046..36a0112 100755 --- a/deploy.sh +++ b/deploy.sh @@ -27,5 +27,11 @@ echo "==> pushing" git push origin pages echo -echo "done. live at https://rain.pages.melonbread.xyz/la-li-lu-le-lo/" -echo "(Pages usually picks it up within ~15 seconds)" +echo "pushed to pages." +echo +echo "Pages is cached (max-age=600), so the public URL can lag by a few minutes." +echo "Check the repo first - if this matches, the push landed and only the cache is behind:" +echo " curl -s https://git.melonbread.xyz/rain/la-li-lu-le-lo/raw/branch/pages/index.html | sha256sum" +echo " sha256sum index.html" +echo "Then the live copy:" +echo " curl -sL https://rain.pages.melonbread.xyz/la-li-lu-le-lo/ | sha256sum" diff --git a/index.html b/index.html index f2e9239..1a1b39b 100644 --- a/index.html +++ b/index.html @@ -476,7 +476,7 @@ footer{max-width:1400px;margin:0 auto;padding:0 16px 50px;color:var(--dim2);font DATA ============================================================ */ const ACHIEVEMENTS = [{"id":"ach_002_001","api":"ach_002_001","name":"Lights Out","desc":"Defeat Olga Gurlukovich","icon":"https://shared.akamai.steamstatic.com/community_assets/images/apps/2131640/fdb31584a0dfda90d7f2cbdd8a5a3b5d95a5c898.jpg","icoLocked":"https://shared.akamai.steamstatic.com/community_assets/images/apps/2131640/b4c69dfb9f308c80d5e142328e029f80a25e4a2d.jpg","cat":"story","guide":"\n

Unmissable.<\/b> Defeat Olga Gurlukovich on the Navigational Deck, Wing at the end of the Tanker chapter.<\/p>\n