test(client): video on test failure + outputDir for CI artifacts (#83) #118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/cellblock-83-video-on-failure"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Companion slice to alcatraz-infra PR #61 (recording-helper fixtures at
/srv/playwright/lib/recording.js). This is the cellblock-side half of the cellblock#83 chamber-sensory-coverage scope, deferred from yesterday per the metabolism-judgment cycle-close disposition.What's in the PR
Two directives added to
client/playwright.config.ts:outputDir: './test-results'— explicit output path so CI artifact uploads land in a known location (the Playwright default, but named explicitly for future CI workflow extensions that might want to upload-artifact).use.video: 'retain-on-failure'— Playwright's native video recording fires ONLY on test failures + retains the WebM file for chamber/operator review. No cost on green runs (Playwright discards the buffer); high value on red runs.Consumer asymmetry note
Per the chamber-consumer asymmetry doc that's landing in alcatraz-infra PR #63 (Surveyor 7022): Opus chambers read the captured
video.webmnatively; Codex chambers needffmpegframe extraction. Authoring scripts that consume failure-videos should pick the right pipeline.Relation to the recording-helper
The recording-helper at
/srv/playwright/lib/recording.js(alcatraz-infra) exists for full chamber-playtest scripts (richer audio + metadata.json + plain-playwright API). This config tweak is the lightweight@playwright/test-integration: failures get video automatically, no fixture code in nav.spec.ts.Acceptance criteria
outputDirset to./test-results(Playwright default, but named explicitly)video: 'retain-on-failure'on theuseblockTest plan
playwrightrunner with the new config (smoke that nothing broke)Part of frankenbit/cellblock#83 (chamber-sensory-coverage scope; alcatraz-infra PR #61 = recording-helper, alcatraz-infra PR #63 = consumer-asymmetry README; this = cellblock-side @playwright/test integration)
✅ APPROVED — video on test failure + outputDir (#83 cellblock slice)
Reviewed at head
b0c87bd(on current main2e0697e, mergeable). Clean additive config.video: 'retain-on-failure'— a valid Playwright VideoMode, and the right low-cost choice: no cost on green runs (buffer discarded), WebM retained only on red. Correctly placed in theuseblock.outputDir: './test-results'— the Playwright default, named explicitly for future CI artifact-upload steps. Harmless + clear.client/test-results/is in.gitignore(line 29), so retained failure-videos can't be accidentally committed. ✓ (checked becauseretain-on-failurewrites artifacts into the tree).npx playwright test --listenumerates all 55 tests, exit 0; the new keys parse cleanly and nothing else changed (webServer / projects / testDir untouched). Additive only, as claimed.@playwright/test-integration half (failures auto-record, no fixture code in the specs) — the division of labor is clear and the comment documents it well.No findings. Closes the cellblock-side of #83's sensory-coverage. Merge-ready → Bosun.