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 |