| OLD | NEW |
| 1 sudo: required | 1 sudo: required |
| 2 dist: trusty | |
| 3 # Note: travis currently does not support listing more than one language so | 2 # Note: travis currently does not support listing more than one language so |
| 4 # this cheats and claims to only be cpp. If they add multiple language | 3 # this cheats and claims to only be cpp. If they add multiple language |
| 5 # support, this should probably get updated to install steps and/or | 4 # support, this should probably get updated to install steps and/or |
| 6 # rvm/gemfile/jdk/etc. entries rather than manually doing the work. | 5 # rvm/gemfile/jdk/etc. entries rather than manually doing the work. |
| 7 language: cpp | 6 language: cpp |
| 8 os: | 7 os: |
| 8 - linux |
| 9 - osx | 9 - osx |
| 10 # The Objective C build needs Xcode 7.0 or later. | 10 # The Objective C build needs Xcode 7.0 or later. |
| 11 osx_image: xcode8.1 | 11 osx_image: xcode7.2 |
| 12 script: | 12 script: |
| 13 - ./tests.sh $CONFIG | 13 - ./tests.sh $CONFIG |
| 14 env: | 14 env: |
| 15 - CONFIG=cpp | 15 - CONFIG=cpp |
| 16 - CONFIG=cpp_distcheck | 16 - CONFIG=cpp_distcheck |
| 17 - CONFIG=csharp |
| 17 - CONFIG=golang | 18 - CONFIG=golang |
| 19 - CONFIG=java_jdk6 |
| 18 - CONFIG=java_jdk7 | 20 - CONFIG=java_jdk7 |
| 19 - CONFIG=java_oracle7 | 21 - CONFIG=java_oracle7 |
| 22 - CONFIG=javanano_jdk6 |
| 20 - CONFIG=javanano_jdk7 | 23 - CONFIG=javanano_jdk7 |
| 21 - CONFIG=javanano_oracle7 | 24 - CONFIG=javanano_oracle7 |
| 22 - CONFIG=javascript | 25 - CONFIG=javascript |
| 23 # iOS build log was starting to choke travis UI, so split to cover the | |
| 24 # Xcode Debug and Release Configurations independently. | |
| 25 - CONFIG=objectivec_ios_debug | |
| 26 - CONFIG=objectivec_ios_release | |
| 27 - CONFIG=objectivec_osx | |
| 28 - CONFIG=objectivec_cocoapods_integration | |
| 29 - CONFIG=python | 26 - CONFIG=python |
| 30 - CONFIG=python_cpp | 27 - CONFIG=python_cpp |
| 28 - CONFIG=ruby19 |
| 29 - CONFIG=ruby20 |
| 31 - CONFIG=ruby21 | 30 - CONFIG=ruby21 |
| 32 - CONFIG=ruby22 | 31 - CONFIG=ruby22 |
| 33 - CONFIG=jruby | 32 - CONFIG=jruby |
| 34 - CONFIG=php5.6_mac | |
| 35 matrix: | 33 matrix: |
| 36 exclude: | 34 exclude: |
| 37 # It's nontrivial to programmatically install a new JDK from the command | 35 # It's nontrivial to programmatically install a new JDK from the command |
| 38 # line on OS X, so we rely on testing on Linux for Java code. | 36 # line on OS X, so we rely on testing on Linux for Java code. |
| 39 - os: osx | 37 - os: osx |
| 38 env: CONFIG=java_jdk6 |
| 39 - os: osx |
| 40 env: CONFIG=java_jdk7 | 40 env: CONFIG=java_jdk7 |
| 41 - os: osx | 41 - os: osx |
| 42 env: CONFIG=java_oracle7 | 42 env: CONFIG=java_oracle7 |
| 43 - os: osx | 43 - os: osx |
| 44 env: CONFIG=javanano_jdk6 |
| 45 - os: osx |
| 44 env: CONFIG=javanano_jdk7 | 46 env: CONFIG=javanano_jdk7 |
| 45 - os: osx | 47 - os: osx |
| 46 env: CONFIG=javanano_oracle7 | 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 |
| 47 # Requires installing golang, currently travis.sh is doing that with apt-get | 53 # Requires installing golang, currently travis.sh is doing that with apt-get |
| 48 # which doesn't work on OS X. | 54 # which doesn't work on OS X. |
| 49 - os: osx | 55 - os: osx |
| 50 env: CONFIG=golang | 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. |
| 51 include: | 59 include: |
| 52 # The dotnet environment requires Ubuntu 14.04 or 16.04. This | 60 - os: osx |
| 53 # configuration is effectively an "extra" one, outside the | 61 env: CONFIG=objectivec_ios |
| 54 # autogenerated matrix. | 62 - os: osx |
| 55 - os: linux | 63 env: CONFIG=objectivec_osx |
| 56 env: CONFIG=csharp | |
| 57 dist: trusty | |
| 58 # This test is kept on travis because it doesn't play nicely with other | |
| 59 # tests on jenkins running in parallel. | |
| 60 - os: linux | |
| 61 env: CONFIG=cpp_distcheck | |
| 62 # The Java compatibility test currently only runs on Linux because it will | |
| 63 # fetch pre-built Linux protoc binaries in the test. | |
| 64 - os: linux | |
| 65 env: CONFIG=java_compatibility | |
| 66 allow_failures: | 64 allow_failures: |
| 67 # These currently do not work on OS X but are being worked on by @haberman. | 65 # These currently do not work on OS X but are being worked on by @haberman. |
| 68 - os: osx | 66 - os: osx |
| 69 env: CONFIG=ruby22 | 67 env: CONFIG=ruby22 |
| 70 - os: osx | 68 - os: osx |
| 71 env: CONFIG=jruby | 69 env: CONFIG=jruby |
| 72 # https://github.com/google/protobuf/issues/1253 - Started failing when | 70 # https://github.com/google/protobuf/issues/1253 - Started failing when |
| 73 # we moved to an OS X image that is 10.11. | 71 # we moved to an OS X image that is 10.11. |
| 74 - os: osx | 72 - os: osx |
| 75 env: CONFIG=python_cpp | 73 env: CONFIG=python_cpp |
| 76 # Mark the iOS test as flakey as xcodebuild some times fails to start the | 74 # xctool 0.2.8 seems to have a bug where it randomly kills tests saying |
| 77 # iOS Simulator. | 75 # they failed. |
| 76 # https://github.com/facebook/xctool/issues/619 |
| 77 # https://github.com/google/protobuf/issues/1232 |
| 78 # travis updated their images to include 0.2.8: |
| 79 # https://blog.travis-ci.com/2016-03-23-xcode-image-updates |
| 80 # Mark the iOS test as flakey so these failures don't turn things red. |
| 78 - os: osx | 81 - os: osx |
| 79 env: CONFIG=objectivec_ios_debug | 82 env: CONFIG=objectivec_ios |
| 80 - os: osx | |
| 81 env: CONFIG=objectivec_ios_release | |
| 82 notifications: | 83 notifications: |
| 83 email: false | 84 email: false |
| OLD | NEW |