Hi, This email is not stricly about Clojure but about a tool that is useful to the open source Clojure ecosystem, so I hope it is appropriate to post this kind of stuff here.
travis-ci.org has had Clojure support for several months now but we'd not gotten around to announcing it here. So, here we go: travis-ci.org is a hosted continuous integration system for the open source community. It started in the Ruby community in 2011; since then, it has grown to support Erlang, Clojure, Node.js, PHP, Java, Groovy, and Scala, and now hosts over 6000 projects, including some big names like Ruby on Rails, RubyGems, Bundler, Leiningen, parts of JRuby, Node.js, Rubinius and so on. Why projects are adopting travis? Here are just a few reasons why: * Travis CI integrates with Github: to get started, all you need to do is to add one one file to your git repository. For Clojure, that file will very often consist of just one line. * Travis CI environment provides many popular data stores and messaging tools out of the box (e.g. mysql, postgresql, mongodb, redis, couchdb, riak, rabbitmq, etc). * Travis CI runs your builds in isolated VMs that are snapshotted and rolled back between builds so you can use passwordless sudo to customize the environment (such as modifying ~/.m2/settings.xml) without affecting subsequent builds * Travis CI makes it trivial to have CI for forks of projects you may be contributing to. Just fork it, create a branch, add your fork to travis and work on your changes. Once you are done, include travis CI build URL to your pull request. * Travis CI makes your CI status visible to the community thanks to our status badges that projects add to their READMEs. * Travis CI lets you link to publicly available build results (including specific lines), very useful when reporting issues. All this makes working on Clojure projects hosted on Github a little bit more enjoyable. To get started, please refer to our Getting Started guide: http://about.travis-ci.org/docs/user/getting-started/ Clojure-specific guide that explains how to use Midje, install lein multi, override test command to do Java compilation with lein javac and so on: http://about.travis-ci.org/docs/user/languages/clojure/ To learn what is available in the CI (VM) environment, use this guide: http://about.travis-ci.org/docs/user/ci-environment/ Who is already using Travis CI in the Clojure community? We already host popular Clojure tools and libraries like Leiningen, clj-time, congomongo, clutch and so on. I personally have 13 Clojure libraries up on travis, some can be used as examples of various Travis features: Monger, uses provided MongoDB and lein multi: https://github.com/michaelklishin/monger/blob/master/.travis.yml Neocons, uses provided Neo4J Server and lein multi: https://github.com/michaelklishin/neocons/blob/master/.travis.yml Langohr, uses provided RabbitMQ: https://github.com/michaelklishin/langohr/blob/master/.travis.yml Elastisch, installs Elastic Search before running builds against it: https://github.com/clojurewerkz/elastisch/blob/master/.travis.yml If you have any questions, I will be happy to answer them here or in #travis on irc.freenode.net. Thank you and I hope you will find travis CI useful for your Clojure project! MK http://github.com/michaelklishin http://twitter.com/michaelklishin -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en