fix: harden unfurl timeout + persist CI fetch cache

- Add hard 22s Promise.race deadline in prefetchUrl() to guard against
  TCP-level connection hangs that bypass unfurl.js's read-only timeout.
  Fixes builds hanging indefinitely on unresponsive hosts.

- Add actions/cache step to deploy.yml persisting .cache/ between runs.
  Prevents webmention (and all eleventy-fetch) data loss on transient
  502s: a populated cache means failures return existing data, not [].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
svemagie
2026-03-19 22:28:40 +01:00
parent 3752e23eaf
commit f6f7cac403
2 changed files with 17 additions and 4 deletions

View File

@@ -32,6 +32,14 @@ jobs:
"sudo bastille cmd node cat /usr/local/indiekit/content/.indiekit/homepage.json" \
> content/.indiekit/homepage.json
- name: Cache Eleventy fetch cache
uses: actions/cache@v4
with:
path: .cache
key: eleventy-fetch-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
eleventy-fetch-${{ runner.os }}-
- name: Build CSS
run: npm run build:css