[Mono-dev] Continuous Integration for Mono

Jonathan Chambers joncham at gmail.com
Fri Jun 24 17:37:42 EDT 2011


All,

I'm composing this after a few discussions in the #monodev irc channel and
this recent thread: http://go-mono.com/forums/#nabble-f1517221

A continuous integration server for mono is required IMO, so I'm going to
put out a few options and see what the community thinks.

1. Hosting everything - If the community is most willing to support
monetarily, the entire build farm can be hosted at any number of providers.
Someone of course still needs to maintain the CI system, but there would be
no direct cost for hardware or a physical location for the machines (up
front or long term). Also, there is the question of platforms for which
hosting is not readily available.

2. Hosting the CI server - In this case, I envision a hosted CI coordinator
machine that can manage and collate build/test results. The actual build
machines could be hosted, or they could be provided by community at large
and just directed by the coordinator. There's some hand waving here, but I
think we could remotely execute the builds and make the results publicly
available on the CI coordinator.

3. No hosting - Potentially, the CI system and the build machines could be
located at some mono friendly organization or company. This obviously
requires machines and a physical location to house them. Obviously, someone
needs to maintain the hardware in addition to the CI system itself.

My suggestion is to host at least the CI server at some provider, and
potentially host the platforms for which hosting is readily available
(Windows/Linux x86/amd64). Some platforms/OSs such as ARM, PowerPC, XBOX,
PS3, etc. may not be possible to host. I'm guessing orgs with the most
interest in those platforms will help in maintaining those platforms, or
help in providing machines that can be used.

Further, I'd suggest using as much 'off the shelf' software as possible to
allow mono community to focus more on mono and less on build infrastructure.
Unless we need a custom CI system, I propose we at least consider TeamCity.
A number of contributors to mono use it internally with success.

http://www.jetbrains.com/teamcity/

Open Source usage for TeamCity is free
http://www.jetbrains.com/teamcity/buy/buy.jsp#openSource

Questions:

1. Any estimates on how much money mono community could collect yearly for
hosting costs/etc?
2. What platforms *require* CI support? Is there an order of importance for
platform to integrate into CI system?
3. How/Where will *official* releases be built? How/where do we expect those
binaries to be hosted?

I'm sure this topic will be discussed at the upcoming monospace conference
next month (http://monospace.us/). However, mono development will be hobbled
until we resolve this issue so I think it's worth it to start discussing
this topic now.


Thanks,
Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110624/d49903d8/attachment-0001.html 


More information about the Mono-devel-list mailing list