From 17f2070e7b3d3fc8a1f14021dd0bab6db4697036 Mon Sep 17 00:00:00 2001 From: zai-agent Date: Wed, 16 Sep 2026 00:18:05 +0000 Subject: [PATCH] Fix missing stylesheet link; deploy-time asset smoke checks --- bdj/build.py | 1 + bdj/deploy.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/bdj/build.py b/bdj/build.py index 0bfb35a..d69ebac 100644 --- a/bdj/build.py +++ b/bdj/build.py @@ -67,6 +67,7 @@ def layout(title, desc, body, path='/', extra_head=''): + {extra_head} diff --git a/bdj/deploy.sh b/bdj/deploy.sh index b1f766d..7279fcb 100755 --- a/bdj/deploy.sh +++ b/bdj/deploy.sh @@ -21,4 +21,21 @@ for host in bestdadjokes.lol www.bestdadjokes.lol myadhd.dev; do code=$(curl -sk -o /dev/null -w '%{http_code}' --resolve "$host:443:127.0.0.1" "https://$host/" --max-time 10) echo " https://$host -> $code (origin)" done + +echo "==> asset smoke checks" +fail=0 +hp=$(curl -sk --resolve bestdadjokes.lol:443:127.0.0.1 https://bestdadjokes.lol/ --max-time 10) +echo "$hp" | grep -q 'rel="stylesheet"' || { echo " FAIL: stylesheet not linked in homepage"; fail=1; } +for asset in /static/style.css /static/main.js /static/jokes-data.js /static/favicon.svg; do + out=$(curl -sk -o /dev/null -w '%{http_code} %{content_type}' --resolve bestdadjokes.lol:443:127.0.0.1 "https://bestdadjokes.lol$asset" --max-time 10) + echo " $asset -> $out" + case "$out" in 200*) ;; *) fail=1 ;; esac +done +# every referenced local asset must exist (catches missing files) +echo "$hp" | grep -oE '(src|href)="/[^"]+"' | sed -E 's/(src|href)="([^"]+)"/\2/' | sort -u | while read -r ref; do + case "$ref" in //*) continue ;; esac + code=$(curl -sk -o /dev/null -w '%{http_code}' --resolve bestdadjokes.lol:443:127.0.0.1 "https://bestdadjokes.lol$ref" --max-time 10) + [ "$code" = "200" ] || echo " WARN: referenced asset $ref -> $code" +done +[ "$fail" = "0" ] || { echo "==> DEPLOY FAILED ASSET CHECKS"; exit 1; } echo "==> deploy complete"