It can be built on top of Jenkins and the IaaS provider.
Jenkins will be responsible for polling GitHub (or receive messages from him about fixing the message) and run the assembly on the slave nodes. You will need three slaves, one for each platform you need (Linux, Windows, and OSX). This will be an open source solution, as Jenkins, Linux, and the OSX kernel are Open Source (not Windows, of course).
With all that can be done, the cloud can be used with the hosted CI + service provider IaaS for slave devices.
You can look at http://clinkerhq.com , which provides Jenkins as a service and subordinate sites at an affordable price.
Disclaimer: I participate in ClinkerHQ.
source share