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.
2 files changed,
+21
−1
.amadan/ci.d/10-gate+3 −1scripts/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 ./... |