What automated build systems are you using? How long do your builds take

automated-testsbuild-automation

My current project has 5 separate automated builds that kick off after each check-in:
Unit Tests (DB calls mocked out): ~6 Minutes
Integration Tests (just to the DB): ~40 Minutes
Website 1 UI (Selenium, from UI to DB): ~80 Minutes
Website 2 UI1 (Selenium, from UI to DB): ~90 Minutes
Website 2 UI2 (Selenium, from UI to DB): ~100 Minutes

We are using Maven2, JUnit and Selenium.

One strategy that I think will reduce drastically reduce Integration test time, is moving as many Integration tests as possible into the Unit Tests, and simply using the Integration project to test persistence to the DB.

I'm wondering what strategies you've found that have helped to reduce build times on large projects.

Best Answer

We have just about the same build runtimes, maybe slightly less on selenium (I'd say around 3x50 minutes runtime, same site tests on firefox, ie and opera). Our solution was to throw more cpu at it, and we have a clustered bamboo environment of totally 7 dual-core nodes.

We found that running selenium-rc and the browser on a seperate box from the web-container/selenium test improved selenium runtimes quite significantly.