4b397e1a

By: Michael Lynch <git@mtlynch.io>

Handle playwright isolation in playwright

Previously, the app had a special per-request database-picking logic for e2e tests. That way, in a special e2e mode, the app could check a special e2e-only cookie and switch databases depending on the cookie.

This made tests faster, but it also pushed complexity into the app that's been growing.

Instead, we're going to switch the test isolation logic to playwright where it belongs, so playwright starts multiple workers, each with a distinct SQLite database path, and we get isolation that way.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 1s 1s 1s
Eval 1s 1m08s 1m08s 1m10s
Build 4s 5m51s 1m14s 1m19s
Test - - - -
Deploy - - - -
Suite 0s 7m02s 1m19s 1m19s

Timeline

0s10s20s30s40s50s1m1m10s