check / check (push) Successful in 3m27s
Every page's Content-Security-Policy forbids eval, which the standard Alpine.js build needs, so no directive ran in a browser: both add forms on the webhook page showed open, and events in the event log could not be collapsed. The UI now loads Alpine's CSP build (@alpinejs/csp 3.14.9 in 3p/); the policy is unchanged. Each directive names a property or method of a component registered in static/js/app.js (collapsible, targetForm), and each card holds its own x-data. A browser test, built only with the browser tag, loads the webhook page and the event log under the real headers; make test-browser runs it in Docker. New test-only dependency chromedp, which raises golang.org/x/sys to 0.47.0. Model: opus-5-5
24 lines
666 B
Bash
Executable File
24 lines
666 B
Bash
Executable File
#!/bin/sh
|
|
# script/test-browser: run the browser test in internal/server. It runs in
|
|
# Docker: Dockerfile.browser builds the test and runs it in a digest-pinned
|
|
# headless browser image, so the host needs no browser.
|
|
#
|
|
# --no-cache-filter=browser runs the test again even when nothing changed;
|
|
# it must name the stage in Dockerfile.browser that runs it.
|
|
# --output=type=cacheonly leaves no image behind to clean up.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
docker build \
|
|
-f Dockerfile.browser \
|
|
--no-cache-filter=browser \
|
|
--progress=plain \
|
|
--output=type=cacheonly \
|
|
.
|
|
}
|
|
|
|
main "$@"
|