Skip to content

Browser smoke test and demo recorder in the repo - #30

Merged
shirkattack merged 1 commit into
mainfrom
feat/e2e-smoke
Sep 3, 2026
Merged

shirkattack merged 1 commit into
mainfrom
feat/e2e-smoke

Conversation

@shirkattack

Copy link
Copy Markdown
Owner

Summary

The headless click-through that verified every PR this week, committed so it can be run before merges.

  • npm run e2e (Web/e2e/smoke.mjs): against a running npm run dev, imports a dataset, previews and exports it, runs a measured optimization with the default model, tries both prompts on an input, checks analytics, deletes the dataset, and reloads. Fails on any step or page error, saves screenshots to a temp dir, and deletes the sessions it created. WEB_URL / API_URL override the targets.
  • npm run e2e:install: one-time Chromium download.
  • npm run demo:record (Web/e2e/record-demo.mjs + scripts/record-demo.sh): records a GEPA run and re-encodes it into docs/demo.gif with the waiting phase sped up. Needs a full ffmpeg; the note about DSPy's cache (vary the prompt so the run is not replayed instantly) is in the script.
  • Playwright added as a web dev dependency; recordings are git-ignored.

Needs Ollama with a model, so this stays a local check; CI (#29) covers the hermetic suites.

Verification

  • npm run e2e against a fresh API on a scratch database and a web dev server: 9/9 steps pass, no console output, exit 0

Web/e2e/smoke.mjs drives a running app end to end with Playwright:
import a dataset, preview and export it, run a measured optimization,
try both prompts on an input, check analytics, delete the dataset and
reload; it exits non-zero on any failed step or page error and removes
the sessions it created. Web/e2e/record-demo.mjs records a GEPA run and
scripts/record-demo.sh turns it into docs/demo.gif. Root scripts:
e2e, e2e:install, demo:record.
@shirkattack
shirkattack merged commit 37e12dc into main Sep 3, 2026
2 checks passed
@shirkattack
shirkattack deleted the feat/e2e-smoke branch September 3, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant