Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to automate or facilitate multiplatform build/test before committing?

Our software is built on linux and windows platforms. Depending on the preference of the developer a contribution is developed and tested on either platform and then committed to our subversion repository. It then turns out that the contribution doesn't build on the other platform, and a fix has to be made. The fix on the other platform may again break the build on the original platform, and so on.

I'd rather see that a contribution is built (and regression tested) on the other platform as well before being committed. We have a continuous build server (CruiseControl), but that server builds from the repository. I am looking for a solution where the continuous build server builds on the other platform as a pre-commit check and then commits the stuff if the build and test succeed.

Any suggestions?

like image 480
andreas buykx Avatar asked Nov 28 '08 13:11

andreas buykx


2 Answers

Teamcity handles pre-tested commit, you may be able to do something with the new build chaining features in 4.0( http://www.jetbrains.com/teamcity/features/newfeatures.html ). Agents are cross platform and can be configured to only run particular bits of the build, so could possibly be configured to only run a subset of tests.

Note that I haven't actually done this :)

like image 179
user7375 Avatar answered Nov 06 '22 08:11

user7375


It might be easier to have two branches, one where people checkin, and another which they merge their changes into after they have passed continuous integration.

like image 21
Douglas Leeder Avatar answered Nov 06 '22 07:11

Douglas Leeder