24 Mar 2020 · Software Engineering

    Faster Rails CI with Automated Parallel Testing Available to All

    3 min read
    Contents

    Earlier, we launched Semaphore Boosters, a feature that allows you to automate parallelizing your RSpec and Cucumber tests in a few clicks. The feature has helped many teams to reduce their Rails CI build times by as much as 2 hours in some cases.

    Initially, the feature was available only to some users. It has now matured with the help of our users, and due to high interest we’ve decided to make it available to anyone who wants to speed up their Rails test suite.

    Why Boosters weren’t initially available to all users

    When we first launched Boosters, we wanted to walk users through the feature, and hear their first-hand impressions. We learned a lot about what we could improve, and about what pain points our users have. We’ve used that knowledge to improve a lot of details – the way we parallelize tests across jobs, the insights we offer to users, we’ve made some small UI improvements, and improved our Boosters documentation, all based on your feedback!

    Test suite flakiness is something a lot of teams have come across, so Boosters helped them pinpoint the issues and deal with them. We’ve had a lot of experience in dealing with flaky tests ourselves, and you can find out what we learned on our blog and in our Community.

    A faster feedback loop introduced by Boosters helps developers deal more heads on with any flakiness that arises. This is because they no longer have to wait for 45 minutes or more each time their app is built.

    Will my project benefit from Boosters?

    Rails projects with test suites longer than 10 minutes can benefit most from Boosters. If your test suite takes longer than 30 minutes to run, you might not be aware of it, but your team’s productivity is suffering.

    Long build times and a slow feedback loop discourage creating new features and slow down shipping value for your users. A fast feedback loop supported by Boosters allows you to iterate and create new value faster.

    The main concern users had about Boosters is whether they would need to maintain them in some way once they’ve set them up. The answer is no – once you’ve set Boosters up, you don’t need to maintain anything as your test suite evolves.

    Boosters track statistics no matter how your project grows, and autobalance your test suite as it evolves.

    What results can I expect from using Boosters?

    Depending on project size, Boosted projects have achieved 2-15x faster feedback. This means that your build that’s an hour and a half long can drop to under 5 minutes.

    Imagine how easier it is to build new things when you don’t need to wait for an hour and a half to see if all tests passed every time you build something new.

    If you’d like to read what teams achieved using Boosters, read how Kajabi got to a 10-minute CI build for 100k Lines of Rails Code, or how par8o sped up their Rails CI builds 8x using Boosters.

    So, how do I get started?

    To get started with Boosters, set up a Semaphore account if you don’t already have one, go to your project settings page, and click on “Speed up builds with Boosters.”

    For all the steps (there are just five), visit our Boosters documentation page.

    To see how Boosters work for yourself and try them, take a look at our screencast or schedule a demo with one of our engineers.

    Happy building!

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Avatar
    Writen by: