Skip to content

CI and artifacts

Leave E2E_DEMO unset in GitHub Actions. Specs stay fast. The same walk writes a click storyboard (shot on teaching clicks: pointer + held ring) instead of walk.mp4. Transcripts still write unless E2E_DEMO_TRANSCRIPT=0. Record video locally (E2E_DEMO=1); do not strip shot or call page.screenshot in that run. See Video.

Do not skip assertions to make a recording prettier.

Where files land

PathWho writes itCleared when
test-results/e2e-demo/stills/<stamp>/Playwemo storyboard (stills + transcript)Only if E2E_DEMO_CLEAN=1
test-results/e2e-demo/video/<stamp>/Playwemo headed walk (transcript + walk.mp4)Only if E2E_DEMO_CLEAN=1
test-results/e2e-demo/stills/latest.txtPlaywemoRewritten each stills run
test-results/e2e-demo/video/latest.txtPlaywemoRewritten each video run
test-results/playwright/Playwright failure dumpsEvery Playwright run

test-results/ is usually gitignored. Keep stamps so you can compare runs. Wipe them with E2E_DEMO_CLEAN=1 or bun run docs:e2e:clean.

Sharing a walk

To show a recording in Cursor chat or a PR, copy walk.mp4 into a published artifacts directory. Cloud Agents then inline the file — see Cursor.

Default: /opt/cursor/artifacts when that folder exists. Override:

bash
E2E_DEMO=1 E2E_DEMO_COPY_WALK=/opt/cursor/artifacts/my_walk.mp4 \
  bunx playwright test e2e/my-walk.spec.ts

The transcript copy is the same basename with .txt.

Headed overlay video is a local command (E2E_DEMO=1), not the default CI job.

Released under the MIT License.