fhwang.net

New awesome coding thingy: Tddium

So, at Profitably we've been transitioning off our own custom CI build using Jenkins, to using a new service called Tddium. Tddium is a hosted, parallelized CI service that aims to run your test suite much faster than you likely could with your own CI setup. It took us a few weeks to get everything up and running, but now that we're using it as our main CI environment, allow me to offer my considered opinion as an engineer:

Holy crap this thing is fucking awesome.

Here, look:

Tddium screenshot

Our 34-minute test suite is now down to 13 minutes. This was the most recent run of master, and at times I've seen it get down to around eight minutes. The two guys behind Tddium have a ton of work to do, but I have no doubt that as they build in more intelligence about managing their nodes they'll be able to give us five-minute test runs on a regular basis.

It's sort of amazing what this does to your productivity. We're just now making the switch to Rails 3, which of course broke a ton of tests at first, and it's really gratifying to make one low-level change to a model, commit it, and find out shortly afterwards that the fix resolved errors in five other test files.

It's not an exaggeration to say I've been waiting for this service for literally years: At RubyConf 2008, I talked about this in my Testing Heresies talk. Of course, getting setup on Tddium reminded of why this is hard in the first place. Any non-trivial app is going to have one binary gem or external dependency that's a hassle to get set up in an environment where the instances you used last time won't be the same as the ones you're using next time, and where you don't have SSH access regardless. For their part, the Tddium guys are overcoming that with tons of automation, documentation, and for the time being really great personal service. When we started getting our code base setup to work on Tddium I was pleasantly surprised to have them emailing me patches to use.

They're in limited release right now, so I don't even know if they can take on any more customers right now. But you should sign up anyway.

blog comments powered by Disqus
Tagged: testing, ruby

« Previous post

Next post »