All,<div><br></div><div>I&#39;m composing this after a few discussions in the #monodev irc channel and this recent thread: <a href="http://go-mono.com/forums/#nabble-f1517221">http://go-mono.com/forums/#nabble-f1517221</a></div>
<div><br></div><div>A continuous integration server for mono is required IMO, so I&#39;m going to put out a few options and see what the community thinks.</div><div><br></div><div>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.</div>
<div><br></div><div>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&#39;s some hand waving here, but I think we could remotely execute the builds and make the results publicly available on the CI coordinator.</div>
<div><br></div><div>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.</div>
<div><br></div><div>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&#39;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.</div>
<div><br></div><div>Further, I&#39;d suggest using as much &#39;off the shelf&#39; 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.</div>
<div><br></div><div><a href="http://www.jetbrains.com/teamcity/">http://www.jetbrains.com/teamcity/</a></div><div><br></div><div>Open Source usage for TeamCity is free</div><div><a href="http://www.jetbrains.com/teamcity/buy/buy.jsp#openSource">http://www.jetbrains.com/teamcity/buy/buy.jsp#openSource</a></div>
<div><br></div><div>Questions:</div><div><br></div><div>1. Any estimates on how much money mono community could collect yearly for hosting costs/etc?</div><div>2. What platforms *require* CI support? Is there an order of importance for platform to integrate into CI system?</div>
<div>3. How/Where will *official* releases be built? How/where do we expect those binaries to be hosted?</div><div><br></div><div>I&#39;m sure this topic will be discussed at the upcoming monospace conference next month (<a href="http://monospace.us/">http://monospace.us/</a>). However, mono development will be hobbled until we resolve this issue so I think it&#39;s worth it to start discussing this topic now.</div>
<div><br></div><div><br></div><div>Thanks,</div><div>Jonathan</div>