Travis CI, a cloud-based continuous integration (CI) offering for open source projects on Github, has announced support for Java builds, as well as Scala and Groovy additions. After gaining traction among the Ruby open source community the project is now looking into the possibility of expansion to a hosted CI service (nicknamed Travis Pro).
The company recently revealed future plans for supporting private builds which could help enterprises leverage the benefits of continuous integration without the build machines and test environment maintenance overhead (either in-house or in the cloud).
Several projects such as Ruby on Rails, Ruby itself or Node.js are using Travis CI which builds and tests after every commit to the project on Github. The list of supported languages also includes PHP, Erlang and Clojure. Also .Net languages are in the pipeline as Josh Kalderimis from Travis CI explained to InfoQ:
.Net support is definitely something we are interested in providing. We have some guys in Amsterdam who are looking at how this might work, but since our current infrastructure is based on VirtualBox and Chef recipes it requires some fairly big changes which will take time.
Not all languages are supported equally however. Josh clarifies the distinction between 'first class' (Ruby, Node.js, Erlang, PHP, Scala) and 'standard' (Java, Python, Groovy) support:
We have two types of language support, standard and 'first class'. 'First class' support means we provide several vm implementations, for example we provide 8 different Ruby versions, 3 different Node.js versions, and 4 or 5 different Erlang versions, and 4 or 5 different PHP versions. This is makes Travis even more powerful for OSS testing because you can now test your library against different Ruby versions, allowing the user of the library to have peace of mind that it works with the version they have running on their production server. We are in the process of adding first class support for Python and Java, and are interested in adding more languages as requested by the community.
Another feature in the making refers to pre-tested pull requests, which could speed up considerably the integration process in open source projects with many contributors, as Josh explains:
Pull Request support, a feature which we think will be a game changer for OSS contributions. Think about contributing to Rails, you send a pull request and Travis will test it and comment on the pull request with the build results, making it easier for the contributor to know if his patch was good, but also making it easier and quicker for Rails core to merge in changes.
Whether the benefits for open source projects can be reproduced at the enterprise level (where CI often involves complex multi-step build procedures and database/test setups) remains an open challenge for Travis Pro. Interested donors can get credit for future Travis Pro accounts through crowd funding.