Adding continuous integration support to JUCE with TravisCI


#1

Working JUCE-based project examples:

  • https://github.com/jrlanglois/drowaudio/blob/master/.travis.yml
  • https://github.com/jrlanglois/jrl_acc/blob/master/.travis.yml
  • https://github.com/jrlanglois/drowaudio/blob/master/README.md
  • https://github.com/jrlanglois/jrl_acc/blob/master/README.md

Example from my JUCE fork (https://travis-ci.org/jrlanglois/JUCE) (WIP for MacOSX support)

  • https://github.com/jrlanglois/JUCE/blob/master/.travis.yml
  • https://github.com/jrlanglois/JUCE/blob/master/README.md

Please consider implementing this travis configuration into the official repository.

I've set it up to compile the UnitTestRunner on the default installations of Clang (v3.5.0) and GCC (v4.8.4).

Additionally, I've fixed up the README file to be of extension .md, and added the TravisCI build status to it: https://github.com/jrlanglois/JUCE

Note that the configuration rightly builds the unit tests with the 3 UTF formats, something I strongly believe is long overdue. (This post feels like so yesterday now: http://www.juce.com/forum/topic/error-compiling-jucestringutftype32 )

There are caveats to using TravisCI. The major ones I can think of is not being able to easily test plugin hosting and generation (VST2/3/AudioUnit/RTAS/AAX), and not being able to test on Windows.