Skip to content

chore(e2e): auto-generate README demo GIF via Playwright - #574

Open
Gudsfile wants to merge 2 commits into
mainfrom
chore/206-auto-generate-readme-gif
Open

chore(e2e): auto-generate README demo GIF via Playwright#574
Gudsfile wants to merge 2 commits into
mainfrom
chore/206-auto-generate-readme-gif

Conversation

@Gudsfile

Copy link
Copy Markdown
Owner

1️⃣ First

  • I have read the CONTRIBUTION.md.
  • OPTIONAL I agree to be added as a contributor in the README.md by the all-contributors bot.

🔇 Problem

The demo GIF in the README was a hand-made recording. It could not be refreshed as the interface evolved, so it slowly drifted out of sync with the real app.

Closes #206.

🎹 Proposal

The demo GIF is now reproducible from the app itself. A Playwright script drives the real application against the deterministic e2e dataset: it uploads the fixed synthetic streaming history, browses the Simple view (year filter, cards) and switches to the Lab view, recording the whole session as video. The recording is then converted to an optimized GIF with ffmpeg, and shrunk further with gifsicle when it is available.

The output is written to the existing README image path (.github/img/tracksy_demo.gif), so the README itself needs no change and the GIF can be regenerated whenever the interface changes.

It runs as a single command, moon run e2e:generate-readme-gif, which starts app:dev and regenerates the deterministic dataset automatically (same pattern as the existing e2e tasks). The regenerated GIF is included in this PR.

🎶 Comments

Dependencies: ffmpeg is required (video → GIF). gifsicle is optional and only used to shrink the result further; the task warns and continues if it is missing.

Server warm-up: the script pre-loads the app in a throwaway browser context before recording, so the cold Vite compilation of the DuckDB/arrow island does not appear as a blank frame in the GIF.

Deferred — CI automation: the issue also mentions regenerating the GIF automatically on merge to main. That is intentionally left as a follow-up. A robust auto-commit workflow (installing browsers + ffmpeg, running the flow, committing the binary back) adds non-trivial maintenance and failure surface; shipping the reproducible command first keeps this PR focused and safe. Regenerating locally with one command already solves the drift problem. A workflow_dispatch job can be layered on later.

🎤 Test

moon run e2e:install-browsers   # first time only
moon run e2e:generate-readme-gif

Produces .github/img/tracksy_demo.gif (~3.1 MB, 640×400, ~14 s). Ran end-to-end locally; the GIF shows the upload → Simple view → Lab view flow.

@Gudsfile Gudsfile added documentation Improvements or additions to documentation enhancement New feature or request [ app ] Concerns the front-end e2e Concerns the E2E tests labels Jul 25, 2026
@github-actions

github-actions Bot commented Jul 25, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://Gudsfile.github.io/tracksy/pr-preview/pr-574/

Built to branch gh-pages at 2026-07-28 21:04 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

github-actions Bot pushed a commit that referenced this pull request Jul 25, 2026
@Gudsfile
Gudsfile force-pushed the chore/206-auto-generate-readme-gif branch 2 times, most recently from 52ccb87 to ffe9a4d Compare July 28, 2026 19:10
github-actions Bot pushed a commit that referenced this pull request Jul 28, 2026
@Gudsfile
Gudsfile force-pushed the chore/206-auto-generate-readme-gif branch from ffe9a4d to 6fb576d Compare July 28, 2026 20:05
@Gudsfile Gudsfile self-assigned this Jul 28, 2026
@Gudsfile
Gudsfile marked this pull request as ready for review July 28, 2026 20:07
@Gudsfile
Gudsfile force-pushed the chore/206-auto-generate-readme-gif branch from 6fb576d to 13d78b4 Compare July 28, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[ app ] Concerns the front-end documentation Improvements or additions to documentation e2e Concerns the E2E tests enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auto-generate the GIF present in our README

1 participant