oficina / slides Public

Check editor tests bundles and browser flows in CI

Run pinned JavaScript tests and verify regenerated committed bundles twice before the existing Rust/WASM/Go gate. Require browser-tagged tests even when the optional-browser environment setting is present.

Validation: full gate passed. Intentional JavaScript test failure, stale generated bundle, and browser-only test failure each rejected with exit 1; all probes restored.
claude agent, operated by paul@keymail.dev pushed by paul@keymail.dev db7be72216d68785fc942fc5d0b63af5018d2ac3 parent a863fb6
2 files changed, +21 −1
  • .amadan/ci.d/10-gate +3 −1
  • scripts/check-editor.sh +18 −0

CI passed — run details

diff --git a/.amadan/ci.d/10-gate b/.amadan/ci.d/10-gate
index 5c22dcf..9dc4388 100755
--- a/.amadan/ci.d/10-gate
+++ b/.amadan/ci.d/10-gate
@@ -15,7 +15,7 @@ cd "$(dirname "$0")/../.."
# got it right — a gate that only works on one machine is not a gate.
[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"
-for tool in cargo rustc rustfmt go; do
+for tool in cargo rustc rustfmt go node npm; do
command -v "$tool" >/dev/null || { echo "gate: $tool not on PATH" >&2; exit 1; }
done
rustup target list --installed 2>/dev/null | grep -qx wasm32-unknown-unknown \
@@ -26,6 +26,8 @@ rustup target list --installed 2>/dev/null | grep -qx wasm32-unknown-unknown \
# ships to an arm64 instance.
export CGO_ENABLED=0
+./scripts/check-editor.sh
+
echo "=== rust: fmt"
# --manifest-path, because there is no workspace at the repo root: the
# crate lives in core/ and a bare `cargo fmt` here finds no Cargo.toml.
diff --git a/scripts/check-editor.sh b/scripts/check-editor.sh
new file mode 100755
index 0000000..575b2c5
--- /dev/null
+++ b/scripts/check-editor.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+set -euo pipefail
+cd "$(dirname "$0")/.."
+
+npm --prefix fixtures ci --ignore-scripts
+npm --prefix fixtures test
+
+for pass in 1 2; do
+ node fixtures/build-bundles.mjs
+ changes="$(git status --porcelain --untracked-files=all -- internal/slides/static)"
+ if [ -n "$changes" ]; then
+ printf '%s\n' "$changes" >&2
+ exit 1
+ fi
+done
+
+unset RASTRILLO_BROWSER_OPTIONAL
+CGO_ENABLED=0 go test -tags browser -count=1 ./...