test(ci): assert prerender output is only /hilfe/transkription
Some checks failed
CI / Unit & Component Tests (push) Has been cancelled
CI / OCR Service Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / fail2ban Regex (push) Has been cancelled
CI / Compose Bucket Idempotency (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / OCR Service Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / fail2ban Regex (pull_request) Has been cancelled
CI / Compose Bucket Idempotency (pull_request) Has been cancelled
Some checks failed
CI / Unit & Component Tests (push) Has been cancelled
CI / OCR Service Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / fail2ban Regex (push) Has been cancelled
CI / Compose Bucket Idempotency (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / OCR Service Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / fail2ban Regex (pull_request) Has been cancelled
CI / Compose Bucket Idempotency (pull_request) Has been cancelled
Addresses Sara's review request on #515. Without this gate, a future regression that turns prerender.crawl back on (or adds a new prerender entry whose nav links into protected routes) would silently bake /, /documents, /persons etc. to "redirect-to-login" HTML and re-introduce #514. Verified the script catches the current broken build state: $ find build/prerendered ... -not -path 'hilfe/*' ... build/prerendered/{index,documents,persons,geschichten,stammbaum}.html Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit was merged in pull request #515.
This commit is contained in:
@@ -59,6 +59,29 @@ jobs:
|
|||||||
run: npm run build
|
run: npm run build
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
|
|
||||||
|
# ── Prerender output is exactly the public help page ───────────────────
|
||||||
|
# SvelteKit prerender + crawl follows nav links and bakes "redirect to
|
||||||
|
# /login" HTML for every protected route, served BEFORE runtime hooks
|
||||||
|
# (see #514). With `crawl: false` only the explicit entry should land
|
||||||
|
# in build/prerendered/. Anything else is a regression — fail the build.
|
||||||
|
- name: Assert prerender output is only /hilfe/transkription
|
||||||
|
run: |
|
||||||
|
cd frontend
|
||||||
|
set -e
|
||||||
|
extra=$(find build/prerendered -type f \
|
||||||
|
-not -path 'build/prerendered/hilfe/*' \
|
||||||
|
-not -name '*.br' -not -name '*.gz' \
|
||||||
|
|| true)
|
||||||
|
if [ -n "$extra" ]; then
|
||||||
|
echo "FAIL: unexpected prerendered files (would shadow runtime hooks):"
|
||||||
|
echo "$extra"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# And the help page must still be there.
|
||||||
|
test -f build/prerendered/hilfe/transkription.html \
|
||||||
|
|| { echo "FAIL: /hilfe/transkription.html missing from prerender output"; exit 1; }
|
||||||
|
echo "PASS: only /hilfe/transkription.html prerendered."
|
||||||
|
|
||||||
- name: Upload screenshots
|
- name: Upload screenshots
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|||||||
Reference in New Issue
Block a user