OLD | NEW |
1 sudo: required | 1 sudo: required |
| 2 dist: trusty |
2 # Note: travis currently does not support listing more than one language so | 3 # 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 # 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 # support, this should probably get updated to install steps and/or |
5 # rvm/gemfile/jdk/etc. entries rather than manually doing the work. | 6 # rvm/gemfile/jdk/etc. entries rather than manually doing the work. |
6 language: cpp | 7 language: cpp |
7 os: | 8 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: xcode7.2 | 11 osx_image: xcode8 |
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 | |
18 - CONFIG=golang | 17 - CONFIG=golang |
19 - CONFIG=java_jdk6 | |
20 - CONFIG=java_jdk7 | 18 - CONFIG=java_jdk7 |
21 - CONFIG=java_oracle7 | 19 - CONFIG=java_oracle7 |
22 - CONFIG=javanano_jdk6 | |
23 - CONFIG=javanano_jdk7 | 20 - CONFIG=javanano_jdk7 |
24 - CONFIG=javanano_oracle7 | 21 - CONFIG=javanano_oracle7 |
25 - CONFIG=javascript | 22 - 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 |
26 - CONFIG=python | 29 - CONFIG=python |
27 - CONFIG=python_cpp | 30 - CONFIG=python_cpp |
28 - CONFIG=ruby19 | |
29 - CONFIG=ruby20 | |
30 - CONFIG=ruby21 | 31 - CONFIG=ruby21 |
31 - CONFIG=ruby22 | 32 - CONFIG=ruby22 |
32 - CONFIG=jruby | 33 - CONFIG=jruby |
| 34 - CONFIG=php5.6_mac |
33 matrix: | 35 matrix: |
34 exclude: | 36 exclude: |
35 # It's nontrivial to programmatically install a new JDK from the command | 37 # 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. | 38 # line on OS X, so we rely on testing on Linux for Java code. |
37 - os: osx | 39 - 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 | |
46 env: CONFIG=javanano_jdk7 | 44 env: CONFIG=javanano_jdk7 |
47 - os: osx | 45 - os: osx |
48 env: CONFIG=javanano_oracle7 | 46 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 | 47 # Requires installing golang, currently travis.sh is doing that with apt-get |
54 # which doesn't work on OS X. | 48 # which doesn't work on OS X. |
55 - os: osx | 49 - os: osx |
56 env: CONFIG=golang | 50 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: | 51 include: |
60 - os: osx | 52 # The dotnet environment requires Ubuntu 14.04 or 16.04. This |
61 env: CONFIG=objectivec_ios | 53 # configuration is effectively an "extra" one, outside the |
62 - os: osx | 54 # autogenerated matrix. |
63 env: CONFIG=objectivec_osx | 55 - os: linux |
| 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 |
64 allow_failures: | 66 allow_failures: |
65 # These currently do not work on OS X but are being worked on by @haberman. | 67 # These currently do not work on OS X but are being worked on by @haberman. |
66 - os: osx | 68 - os: osx |
67 env: CONFIG=ruby22 | 69 env: CONFIG=ruby22 |
68 - os: osx | 70 - os: osx |
69 env: CONFIG=jruby | 71 env: CONFIG=jruby |
70 # https://github.com/google/protobuf/issues/1253 - Started failing when | 72 # https://github.com/google/protobuf/issues/1253 - Started failing when |
71 # we moved to an OS X image that is 10.11. | 73 # we moved to an OS X image that is 10.11. |
72 - os: osx | 74 - os: osx |
73 env: CONFIG=python_cpp | 75 env: CONFIG=python_cpp |
74 # xctool 0.2.8 seems to have a bug where it randomly kills tests saying | 76 # Mark the iOS test as flakey as xcodebuild some times fails to start the |
75 # they failed. | 77 # iOS Simulator. |
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. | |
81 - os: osx | 78 - os: osx |
82 env: CONFIG=objectivec_ios | 79 env: CONFIG=objectivec_ios_debug |
| 80 - os: osx |
| 81 env: CONFIG=objectivec_ios_release |
83 notifications: | 82 notifications: |
84 email: false | 83 email: false |
OLD | NEW |