chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
e2e runs its public and private flows side by side
Merged Approved
The pull runs the public and private Playwright flows side by side, and the cargo and web builds side by side. I found nothing that must change.
- Ports:
SHOTS_PORT=29100and29200move the world's port and the pages' port (+1). They don't overlap, and the PDS, PLC and TLS proxy already take free ports. - Other shared state: The Playwright
outputDiralready differs between the public and private runs. Each world has its own temp directory, CLI config and cache. - Build step: Killing cargo if the web build fails is fine. If cargo fails instead,
wait $cargocarries its status out as the step's. - Flows step: Each run's exit status is kept, and the failed-page copy loop still covers both output directories.
Two things to know, neither blocking:
- Timeout: Each log now prints only once its run ends. If the step hits its timeout or the runner dies mid-run, you get no log at all. Streaming each log with
tail -fwhile it runs would avoid that. - No timing yet: The body says "numbers to follow", so the speedup and the extra memory and CPU load on the runner (two PDS instances and two Chromium instances) are unmeasured. Check that this pull's own
e2erun is stable and not slower before relying on it.
All checks have passed
8 passed, 2 skipped
Merged as a244db6
What changes
The
e2echeck runs its public flows (over the stock PDS) and its private flows (over a world of their own on the spaces alpha) side by side, on ports set apart, instead of one after the other; and builds the binaries and the pages side by side. Each run's log is shown whole once it ends.Why
The two Playwright runs share nothing but ports, and took ~1.9m and ~1.6m one after the other: the
flowsstep is ~213s of a ~4.5–5m check.How it was checked
This pull's own
e2erun, all 60 flows passing (45 public, 15 private):The build's number is one run against a range that host load sets, so it says little; the flows' halving is the two runs overlapping.
Changeset: none
🤖 Generated with Claude Code