Latest Results
ci: cut unit test time (coverage on one leg, reflex-bench tests only when it changes) (#7722)
* ci: measure unit test coverage on one leg only
Every unit test leg ran the suite under coverage, but coverage is only
used to enforce fail_under, so each leg re-measured the same number. On
3.11-3.13 coverage cannot measure branches with sys.monitoring and falls
back to a trace function: locally the 3.12 suite took 9m55s with --cov
and 6m42s without, which pushed the ubuntu 3.12 leg into the 30 minute
timeout.
Measure coverage and enforce the threshold on ubuntu / 3.14 only, the
leg that also runs the redis and postgres steps, and run plain pytest
everywhere else, macOS included. Upload that leg's HTML report, which
was generated and thrown away before.
Claude-Session: https://claude.ai/code/session_01LwJUCTrrWa5ieHVLNcS8v4
* ci: run reflex-bench unit tests only when reflex-bench changes
reflex-bench imports nothing from reflex, and its tests are about a
minute and a half of subprocesses, browsers and real timeouts per run,
paid four times per ubuntu leg. Add a second path filter to the changes
job and pass --ignore=tests/units/reflex_bench unless the pull request
touches reflex-bench, its tests, the example apps it uses as fixtures,
uv.lock or this workflow. Pushes to main still run them.
Drop reflex_bench from the coverage source: with its tests skipped its
code would count as uncovered and pull the total from about 82% to 68%,
under the 72% threshold, so the threshold would depend on whether the
pull request touched it. Without it the total is about 80%.
Claude-Session: https://claude.ai/code/session_01LwJUCTrrWa5ieHVLNcS8v4
* ci: keep reflex-bench's reflex contract test on every pull request
suites/test_events.py imports reflex and checks the playground state
names the events suite hardcodes against reflex's own naming, so a
reflex change can break it. Instead of ignoring the whole package, CI
now sets REFLEX_BENCH_UNCHANGED=1 and the package's conftest collects
only that file (41 tests, under a second of test time).
Also run the full suite when scripts/hash_examples.py changes, which
test_fixtures.py imports, and reword the coverage source comment:
pushes to main still run every reflex-bench test.
Claude-Session: https://claude.ai/code/session_01LwJUCTrrWa5ieHVLNcS8v4 Latest Branches
0%
harsh21234i:fix/7617-deploy-url-playwright 0%
darshjoshi:fix/7459-backend-field-literal-var +4%
claude/clientstatevar-context-refactor-jv3pig © 2026 CodSpeed Technology