Parallel Specs

A focused extraction of the RSpec pieces from parallel_tests with only the parts this gem actually needs:
- a live local dashboard
- a plain-text CI / LLM friendly summary
- runtime-log generation for balanced spec splitting
- modern Ruby only
Commands
bundle exec parallel_specs
bundle exec parallel_specs -n 6
bundle exec parallel_specs --test-options='--tag ~type:system'
bundle exec parallel_specs --record-runtime
Local TTY runs render the interactive dashboard. CI and other non-TTY runs automatically fall back to the plain text summary.
Runtime balancing
Regular runs automatically use tmp/parallel_runtime_rspec.log when it contains enough data.
Generate or refresh that file with:
bundle exec parallel_specs --record-runtime
Runtime logs are replaced only after a successful, complete run where every worker produces its runtime log. Failed, interrupted, incomplete, or no-spec runs preserve the previous runtime log.
Or point at a custom file:
bundle exec parallel_specs --record-runtime --runtime-log tmp/my_runtime.log
--runtime-log PATH is used as the input path for balancing and, with --record-runtime, as the output destination for the completed run.
Environment variables
The supported environment variables are:
PARALLEL_SPECS_PROCESSORSsets the default worker count when-nis not provided.PARALLEL_SPECS_DASHBOARD_MODEcan beinteractiveorplainto override automatic dashboard selection.PARALLEL_SPECS_HEARTBEAT_INTERVALsets the plain-dashboard heartbeat interval in seconds.CImakes dashboard output default to plain mode.
Worker processes continue to receive TEST_ENV_NUMBER for compatibility with existing test-environment isolation setup.
This gem does not intentionally preserve the old parallel_tests executable names, formatter paths, or environment variable aliases.