Repository navigation
perf(ci): make the test suites fit the self-hosted runner - #145
Merged
Merged
Conversation
… the slow collections test The embedded suite took 28 min of its 30 on the runner at 544 tests, and the server suite timed out at 30 with a third left; both now report their slowest tests. The collections dialog test ran five flows in one test and took 36 s against Jest's 20 s; each flow is its own test now. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSZ2xxfNPjTPbhi8YqoPGm
adeelahmad
pushed a commit
that referenced
this pull request
Oct 4, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DdhQ2PsqzCyrKNDV1SJZAA
3 of 8 tasks
The setup wizard test's waitFor gave up after testing-library's default 1 s on the runner while the dialog was still rendering. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSZ2xxfNPjTPbhi8YqoPGm
…runner - Every test's database got its schema one statement at a time, 272 round trips; it is one now. - A server connection pool opened all 8 connections (8 sign-ins) up front; it opens one and grows as concurrent queries need more. - CI's SurrealDB server keeps its surrealkv data on a tmpfs: syncing each write to the runner's disk made one schema take 0.7 s instead of 0.16 s. - Tests hash passwords with scrypt N=2^10 instead of production's 2^15 (32 MB each); stored hashes carry their own N, so production is unchanged. Locally the embedded suite went from 204 s to 120 s; against a server it is 180 s. No test skipped. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSZ2xxfNPjTPbhi8YqoPGm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Adeel · project thread
Before: no CI run on main had finished since 10:15. The backend suite against a SurrealDB server timed out on the "Apps" runner (only 56% done after 75 min), the embedded suite took 28 of its 30 min, and two frontend tests failed only on the runner because it is slow (Jest's 20 s test limit, testing-library's 1 s waitFor).
After: the backend suites do much less work per test, and the slow-runner frontend failures are fixed. Locally the embedded suite went from 204 s to 120 s and the server suite runs in 180 s. No test is skipped or removed.
How:
DB.run(..., transaction=False)).jest.setup.tsgives waitFor/findBy 10 s.Separately, 96 queued runs for already merged PRs were cancelled so main's run isn't stuck behind them.
🤖 Generated with Claude Code
https://claude.ai/code/session_01GSZ2xxfNPjTPbhi8YqoPGm