Skip to content

Run specs in parallel, speed up CI, fix concurrency bugs in specs and code#1167

Draft
apiology wants to merge 1637 commits intocastwide:v0.59from
apiology:parallel_rspec
Draft

Run specs in parallel, speed up CI, fix concurrency bugs in specs and code#1167
apiology wants to merge 1637 commits intocastwide:v0.59from
apiology:parallel_rspec

Conversation

@apiology
Copy link
Contributor

@apiology apiology commented Jan 29, 2026

This allows rspec to use more than one CPU. Really useful on modern dev machines, and also useful in CI, where the default runner size has two CPUs.

See https://github.com/apiology/solargraph/pull/27/changes for a more useful diff and commentary

To do:

  • Track down slow tests and see where time is going
  • Track down rspec + rails specs slowness
  • Add developer doc on things to expect, how to write specs
  • Fix logging caching gems
  • Figure out where doc_map vs workspace fix went

Reduces the actual testing time in CI to about a minute using our small workers:

image

There are also a few fixes here:

  • For some reason, the debug level logging I tried to set in rspec wasn't persisting - this seems to do a better job and found a couple of bugs in the process that only reproduce at debug level logging.
  • Some tests didn't run individually, but did when run in sequence in the specs. We may see new failures pop up in the future; the trade-off for faster responsiveness is probably going to be less deterministic behavior in the face of buggy tests.

Includes for mergability:

Includes this build fix:

Includes the fix for this bug, which parallel running seems to trigger (more often?):

Includes to show combined effect:

Includes transitively:

  • v0.59 branch

@apiology apiology marked this pull request as draft January 29, 2026 13:26
@apiology apiology changed the base branch from master to v0.59 January 29, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant