Proposal: Integrate GitHub akka/akka repository with Travis CI service
Proposal
http://travis-ci.org as hosted continuous integration service for the open source community provides very powerful tools for building and testing projects stored on GitHub.
Some of the many advantages of using Travis CI:
- GitHub Pull Requests can be validated on this platform before merge, and thus improve the quality and time spent for the acceptance of the typical fork/pull-request/review process.
- Ability to run matrix of run environments, for instance to verify the same code base against different versions of Scala.
I see that TypeSafe is currently hard working on its Jenkins CI environment (e.g. for Milestone Infrastructure and Framework For Distributed and Load Testing), with many goals that Travis CI can obviously not satisfy (performance cluster,...). I just would insist that integrating a project with Travis CI does not conflict with existing CI infrastructure in any manner, especially because it can be done with very few effort.
Warning: unreliable builds randomly occur on Travis CI
I just said above that Travis integration is usually smooth and straightforward. It is quite true for small to medium software. The case of Akka is a bit different, in particular because of the memory footprint of the test runs. I actually used a fork of Akka project to tune Travis CI environment (mostly the JVM parameters of SBT) to be able to successfully run the whole set of Akka tests. But even though, I'm still not 100% sure of my setup, because I still meet some "random" build failures (error does not occur systematically when building the exact same code base). I think that Akka build-specialist(s) should review it and compare with Jenkins CI know-how. That's why I estimate this issue to small (and not to none ). Anyway, I'm pretty sure it shouldn't be a blocker issue, and Akka builds will certainly be executed without any memory error, once the environment will be correctly configured.
Maybe these non-deterministic errors could be similar as the Jenkins build problems reported in #1021.
More about Travis CI
Below, I put some more links that may help Akka Team to gather information about Travis CI, and decide in favor of such integration proposal.
- http://about.travis-ci.org/blog/announcing_support_for_java_scala_and_groovy_on_travis_ci/
- http://weblog.rubyonrails.org/2011/7/27/rails-now-tested-on-travis-ci/
- http://www.infoq.com/news/2012/02/travis-cloud-ci
- Pull-Request history about how Symfony2 PHP Framework community adopted Travis CI in parallel of running own Jenkins Server
Akka rocks! Akka Community too!
Cheers, Gilles
Apologize: I did open my GitHub PR before creating the Assembla ticket. Sorry for my mistake. Please tell me if you prefer I open a new one... (if Travis integration is accepted).
Leave a comment
I don't see why Travis CI configuration should be in the akka/akka repository at all. Feel free to use Travis CI if you want.
Hi Viktor,
Thank you for fast feedback about this proposition. No problem if you don't want to use it. I thus closed related pull request 399 on GitHub.
BTW and just for information to people interested in free continuous integration service(s): I quite recently eared about another CI service: https://buildhive.cloudbees.com. It is still in Beta phase, but will aim to provide similar features as Travis CI (smooth GitHub integration, several build environment,...). This service is a project from CloudBees engineering itself, and of course based on Jenkins.
Cheers, Gilles
Thank you for fast feedback about this proposition. No problem if you don't want to use it. I thus closed related pull request 399 on GitHub.
BTW and just for information to people interested in free continuous integration service(s): I quite recently eared about another CI service: https://buildhive.cloudbees.com. It is still in Beta phase, but will aim to provide similar features as Travis CI (smooth GitHub integration, several build environment,...). This service is a project from CloudBees engineering itself, and of course based on Jenkins.
Cheers, Gilles