views:

681

answers:

5

I have an Open Source app and I have it working on Windows, Linux and Macintosh ( it's in C++ and built with gcc ). I've only tested it on a few different flavors of Linux so I don't know if it compiles and runs on all different Linux versions. Is there a place where I can upload my code and have it tested across a bunch of different systems like other Linux flavors and things like, Solaris, FreeBSD and other operating systems?

What would be great is if I can have it directly connect to my svn repository and grab the latest code and then email me back any compile errors generated and what the OS was that it had a problem with.

I would be happy to just know it compiles as it is a GUI based app so I wouldn't expect it to actually be ran and tested.

+1  A: 

Take a look at the OpenSuSE build service, it includes a fairly wide variety of Linux distros (not just SuSE/OpenSuSE).

Ted Percival
+6  A: 

There are a few options but there don't appear to be many (any?) free services like this, which isn't surprising considering the amount of effort and resources it requires. Sourceforge used to operate a compile farm like what you describe but it shut down a year or so ago. You might look into some of the following. If you're inclined to pay for a service or roll your own, then some of these links may be useful. If you're just looking for a free open source compile/build farm that covers multiple platforms it looks like you're pretty much out of luck.

OpenSuse Build Service

Mentioned by Ted first, worth repeating - only for Linux currently but does support a number of distros.

GCC Compile Farm

Mainly focused on testing builds for GCC but does also host a few other projects such as coLinux, BTG BitTorrent client, ClamAV, and others. May be something you can take advantage of, though I don't see what OSes are in the compile farm (contains at least Linux and Solaris based on the page notes).

BuildLocker

BuildLocker is a Web-based continuous integration solution for Java and .NET projects. BuildLocker is a virtual dedicated build machine that helps teams find bugs earlier in the development cycle, saving time and money. BuildLocker manages scheduled automated builds of source code in your ProjectLocker Source Control repository. Just check in the source code, and scheduled builds validate the integrity of the code. BuildLocker can even run automated tests, and can alert you anytime a test fails.

CruiseControl

CruiseControl is a framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds.

Interesting side note, CruiseControl is actually used by StackOverflow's dev team for automated build testing as well, according to the podcast.

Hudson

Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron.

RunCodeRun

Mentioned in the other linked question, only supports Ruby projects and is in private beta currently. However, if your project is in Ruby, it might be worth keeping an eye on RunCodeRun.

CI Feature Matrix

There are many Continuous Integration systems available. This page is an attempt to keep an unbiased comparison of as many as possible of them.

Jay
A: 

From a software point of view, there's also buildbot (sourceforge project site), which can be used to set up your own build/continous integration server. This was suggested and considered to be used for gcc development (as mentioned on the gcc compile farm wiki page posted above).

none
A: 

If you are planning to go commercial with your open source product you might consider our Parabuild. It allows you to run a set of builds on multiple platforms and machines in parallel. The build will success only if all platform-specific builds success.

Slava Imeshev