-
Knapsack
Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time. (by ArturT)
-
Scout Monitoring
Rennaisance engineers rejoice! 1 gem 5 min to app monitoring. 5-minute onboarding. No sales team. Devs in the support channels. No DevOps team required. Get the free app insights every engineer deserves with Scout Monitoring.
This seemed extremely suspicious because we use Knapsack, which should ensure near-equal finishing times for all runners. Luckily, Knapsack stores run data and I was able to identify common offenders and identify the common thread - the spiking specs were writing to the database and then being cleaned up by DatabaseCleaner. The project had a complex DB setup, so I reached for the lowest-hanging fruit - I tried :deletion instead of :truncation cleanup strategy and it worked.
Related posts
-
Run 1 hour test suite in 2 min with optimal parallelisation on existing CI infra
-
Six things you should consider while designing a test architecture
-
How to improve a test suit made with Rspec, Capybara, FactoryBot and Siteprism
-
Base test profiling inside docker with test-prof
-
A collection of different tools to analyze your Ruby test suite performance