Files
KNELSecretsManager/tests/qa-diagrams.sh
ic-builder e3c8e43ffb
ci / vet (pull_request) Successful in 55s
ci / diagrams (pull_request) Failing after 2m45s
docs QA: diagrams must parse in a real mermaid renderer
The first architecture set did not render (backslash-n escapes,
semicolons in sequence messages, braces in text). All diagrams
rewritten to conservative syntax and QA-verified with mermaid-cli
(3/3 PARSE-OK). qa-diagrams.sh added; CI enforces it on docs changes.

Ticket: https://projects.knownelement.com/issues/832
2026-09-06 19:29:04 -05:00

16 lines
730 B
Bash
Executable File

#!/bin/bash
# qa-diagrams.sh — every ```mermaid block in docs/ must parse in a real renderer.
# Usage: tests/qa-diagrams.sh (needs docker + minlag/mermaid-cli + /usr/bin/chromium)
set -euo pipefail
QA=$(mktemp -d)
awk '/^```mermaid/{n++; f=QA"/d"n".mmd"; next} /^```/{f=""; next} f!=""{print > f}' QA="$QA" docs/*.md
echo '{"args":["--no-sandbox","--disable-setuid-sandbox","--disable-gpu"]}' > "$QA/pptr.json"
fail=0
docker run --rm -v "$QA":/qa --entrypoint sh minlag/mermaid-cli:latest -c '
for f in /qa/d*.mmd; do
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium mmdc -p /qa/pptr.json -i "$f" -o /tmp/out.svg >/dev/null 2>&1 || { echo "PARSE-FAIL: $f"; exit 1; }
echo "PARSE-OK: $f"
done' || fail=1
rm -rf "$QA"
exit $fail