Semaphore lets you run RSpec specs in parallel jobs. If you want to get faster feedback from CI, we recommend using Boosters to let Semaphore automatically parallelize your Rails test suite.
Alternatively, you can try the knapsack gem. It will split tests across jobs and make sure that tests will run comparable time on each job.
require 'knapsack' Knapsack::Adapters::RspecAdapter.bind
After tests pass your should copy knapsack json report which is rendered at the end of rspec results. Save it into your repository as knapsack_rspec_report.json file and commit. More info about generating report you will find in knapsack docs.
Knapsack supports Semaphore ENVs SEMAPHORE_THREAD_COUNT and SEMAPHORE_CURRENT_THREAD. The only thing you need to do is set up knapsack rspec command for as many jobs as you need. Here is an example:
Tests will be split across jobs.
Semaphore Docs are open source — Edit on GitHub