chore(e2e): run the e2e dev server on native Linux #172

Merged
cameron merged 2 commits from feat/e2e-native-linux into master 2026-10-16 19:26:42 +00:00
Owner

The e2e dev server (dev/e2e/) assumed WSL driving the Windows toolchain. It now also runs on native Linux, so the FileViewer-React drive-app skill can use it from a Linux box.

Changes

  • e2e.sh detects WSL (a microsoft kernel with cargo.exe on PATH) and keeps the existing behaviour there. Otherwise it uses:
    • cargo / curl
    • pgrep / pkill instead of tasklist / taskkill
    • Linux paths in the generated .env
    • binaries without the .exe suffix
  • gen_fixtures.py:
    • picks the first ffmpeg that has drawtext, since a minimal build earlier on PATH may lack it (E2E_FFMPEG overrides);
    • finds a monospace font with fc-match;
    • only runs paths through wslpath for .exe tools.
  • Quote USER_NAME in the generated .env. The unquoted space made dotenv reject the line on every platform.
  • The scripts are marked executable, and the README notes Linux support and E2E_PORT.

Testing

On native Ubuntu 24.04:

  • e2e.sh up built the server, generated 98 fixtures and indexed 97 of them.
  • I used E2E_PORT=8091, because another local service holds 8090.
  • The FileViewer-React app logged in and browsed it on an emulator.
  • WSL paths are unchanged, but I haven't re-run them.

🤖 Generated with Claude Code

The e2e dev server (`dev/e2e/`) assumed WSL driving the Windows toolchain. It now also runs on native Linux, so the FileViewer-React `drive-app` skill can use it from a Linux box. ## Changes - **`e2e.sh` detects WSL** (a microsoft kernel with `cargo.exe` on PATH) and keeps the existing behaviour there. Otherwise it uses: - `cargo` / `curl` - `pgrep` / `pkill` instead of `tasklist` / `taskkill` - Linux paths in the generated `.env` - binaries without the `.exe` suffix - **`gen_fixtures.py`:** - picks the first ffmpeg that has `drawtext`, since a minimal build earlier on PATH may lack it (`E2E_FFMPEG` overrides); - finds a monospace font with `fc-match`; - only runs paths through `wslpath` for `.exe` tools. - **Quote `USER_NAME`** in the generated `.env`. The unquoted space made dotenv reject the line on every platform. - The scripts are marked executable, and the README notes Linux support and `E2E_PORT`. ## Testing On native Ubuntu 24.04: - `e2e.sh up` built the server, generated 98 fixtures and indexed 97 of them. - I used `E2E_PORT=8091`, because another local service holds 8090. - The FileViewer-React app logged in and browsed it on an emulator. - WSL paths are unchanged, but I haven't re-run them. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cameron added 2 commits 2026-10-16 01:45:07 +00:00
e2e.sh and gen_fixtures.py assumed WSL driving the Windows toolchain.
They now detect WSL (a microsoft kernel with cargo.exe available) and
otherwise use native tools:

- e2e.sh: cargo/curl instead of cargo.exe/curl.exe, pgrep/pkill
  instead of tasklist/taskkill, Linux paths in the generated .env, and
  binaries without the .exe suffix.
- gen_fixtures.py: picks the first ffmpeg that has the drawtext filter
  (a minimal build earlier on PATH may not; E2E_FFMPEG overrides), finds
  a monospace font with fc-match, and only translates paths with wslpath
  for .exe tools.
- Quote USER_NAME in the generated .env: the unquoted space made the
  dotenv parser reject the line.
- Mark the scripts executable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cameron merged commit 42897990d8 into master 2026-10-16 19:26:42 +00:00
cameron deleted branch feat/e2e-native-linux 2026-10-16 19:26:42 +00:00
Sign in to join this conversation.