Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 1 | sudo: required |
| 2 | # Note: travis currently does not support listing more than one language so |
| 3 | # this cheats and claims to only be cpp. If they add multiple language |
| 4 | # support, this should probably get updated to install steps and/or |
| 5 | # rvm/gemfile/jdk/etc. entries rather than manually doing the work. |
| 6 | language: cpp |
| 7 | os: |
| 8 | - linux |
| 9 | - osx |
| 10 | # The Objective C build needs Xcode 6.4 or later. |
| 11 | osx_image: xcode7.1 |
| 12 | script: |
| 13 | - ./travis.sh $CONFIG |
| 14 | env: |
| 15 | - CONFIG=cpp |
| 16 | - CONFIG=cpp_distcheck |
| 17 | - CONFIG=csharp |
| 18 | - CONFIG=golang |
| 19 | - CONFIG=java_jdk6 |
| 20 | - CONFIG=java_jdk7 |
| 21 | - CONFIG=java_oracle7 |
| 22 | - CONFIG=javanano_jdk6 |
| 23 | - CONFIG=javanano_jdk7 |
| 24 | - CONFIG=javanano_oracle7 |
| 25 | - CONFIG=javascript |
| 26 | - CONFIG=python |
| 27 | - CONFIG=python_cpp |
| 28 | - CONFIG=ruby19 |
| 29 | - CONFIG=ruby20 |
| 30 | - CONFIG=ruby21 |
| 31 | - CONFIG=ruby22 |
| 32 | - CONFIG=jruby |
| 33 | matrix: |
| 34 | exclude: |
| 35 | # It's nontrivial to programmatically install a new JDK from the command |
| 36 | # line on OS X, so we rely on testing on Linux for Java code. |
| 37 | - os: osx |
| 38 | env: CONFIG=java_jdk6 |
| 39 | - os: osx |
| 40 | env: CONFIG=java_jdk7 |
| 41 | - os: osx |
| 42 | env: CONFIG=java_oracle7 |
| 43 | - os: osx |
| 44 | env: CONFIG=javanano_jdk6 |
| 45 | - os: osx |
| 46 | env: CONFIG=javanano_jdk7 |
| 47 | - os: osx |
| 48 | env: CONFIG=javanano_oracle7 |
| 49 | # Requires installing mono, currently travis.sh is doing that with apt-get |
| 50 | # which doesn't work on OS X. |
| 51 | - os: osx |
| 52 | env: CONFIG=csharp |
| 53 | # Requires installing golang, currently travis.sh is doing that with apt-get |
| 54 | # which doesn't work on OS X. |
| 55 | - os: osx |
| 56 | env: CONFIG=golang |
| 57 | # Add into the matrix OS X tests of Objective C (needs Xcode, so it won't |
| 58 | # work on other platforms). These are split so it doesn't take as long to run. |
| 59 | include: |
| 60 | - os: osx |
| 61 | env: CONFIG=objectivec_ios |
| 62 | - os: osx |
| 63 | env: CONFIG=objectivec_osx |
| 64 | allow_failures: |
| 65 | # These currently do not work on OS X but are being worked on by @haberman. |
| 66 | - os: osx |
| 67 | env: CONFIG=ruby22 |
| 68 | - os: osx |
| 69 | env: CONFIG=jruby |
| 70 | notifications: |
| 71 | email: false |