f1cfc333

By: Michael Lynch <git@mtlynch.io>

Avoid Playwright dependency in small Nix checks

The shared mkBuildStep wrapper exported PLAYWRIGHT_BROWSERS_PATH for every
check derivation. That embedded the Playwright browser store path into tiny
checks like check-trailing-newline, so Nix had to realize the full Playwright
browser closure before running a shell script that only needs Git, grep, and
coreutils.

Move the Playwright environment variables into the e2e-tests setup, which is
the only build step that needs browser binaries. This keeps the e2e behavior the
same while allowing checks such as nix build .#check-trailing-newline to avoid
downloading and building Playwright browsers and their large runtime closure.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 3s 3s 4s 0s
Eval 3s 1m58s 1m58s 2m02s 0s
Build 6s 8m07s 1m29s 1m36s 0s
Suite 0s 10m08s 2m01s 2m02s 0s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s2m