ci: gate pull requests on the stress benchmark losing no work
Every ceiling this project has hit only appeared under a mixed load, and three of the four lost work silently while single-feature e2e stayed green, yet the benchmark only ever ran by hand on one laptop. With STRESS_REQUIRE_FUNCTIONAL=1 the stress example exits 1 when a download, upload, search or browse was lost; throughput never fails it because it measures the machine, not the client. CI now runs a quarter-size profile against soulfind on every pull request.
This commit is contained in:
@@ -32,6 +32,13 @@ with headroom, so the score still moves when transfer handling regresses.
|
||||
`--save` only overwrites `stress-baseline.json` when the run beats it, so the
|
||||
baseline ratchets upward. Without `--save` a run just prints the delta.
|
||||
|
||||
## The gate
|
||||
|
||||
`STRESS_REQUIRE_FUNCTIONAL=1` makes the run exit 1 when any of the four
|
||||
functional dimensions is below 100%. CI runs it that way on every pull request
|
||||
with an eighth of the default load; throughput never fails the gate because it
|
||||
measures the machine, not the client.
|
||||
|
||||
## Tuning the load
|
||||
|
||||
Every knob is an env var; the defaults are in `Config::from_env`.
|
||||
|
||||
Reference in New Issue
Block a user