blob: 60c0427d6c78c4bf2f4c2953c22262844c0d4201 [file] [log] [blame]
Chris Fallin20e94b22015-05-13 16:43:48 -07001sudo: required
Thomas Van Lentenc4d36382015-06-09 13:35:41 -04002# 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.
Chris Fallin20e94b22015-05-13 16:43:48 -07006language: cpp
Tamir Dubersteined715042015-03-18 00:43:34 -07007os:
8 - linux
9 - osx
Thomas Van Lenten13241192016-02-16 09:19:50 -050010# The Objective C build needs Xcode 7.0 or later.
11osx_image: xcode7.2
Tamir Duberstein9a2f1f62015-03-31 11:25:39 -070012script:
Chris Fallin20e94b22015-05-13 16:43:48 -070013 - ./travis.sh $CONFIG
14env:
15 - CONFIG=cpp
16 - CONFIG=cpp_distcheck
Jan Tattermuschddb36ef2015-05-18 17:34:02 -070017 - CONFIG=csharp
Tim Swast7e31c4d2015-11-20 15:32:53 -080018 - CONFIG=golang
Chris Fallin20e94b22015-05-13 16:43:48 -070019 - CONFIG=java_jdk6
20 - CONFIG=java_jdk7
21 - CONFIG=java_oracle7
22 - CONFIG=javanano_jdk6
23 - CONFIG=javanano_jdk7
24 - CONFIG=javanano_oracle7
Josh Habermane9cf31e2015-12-21 15:18:17 -080025 - CONFIG=javascript
Chris Fallin20e94b22015-05-13 16:43:48 -070026 - CONFIG=python
27 - CONFIG=python_cpp
28 - CONFIG=ruby19
29 - CONFIG=ruby20
30 - CONFIG=ruby21
31 - CONFIG=ruby22
32 - CONFIG=jruby
Feng Xiao9cbdaed2015-06-08 13:00:45 -070033matrix:
Thomas Van Lentenc4d36382015-06-09 13:35:41 -040034 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.
Feng Xiao9cbdaed2015-06-08 13:00:45 -070051 - os: osx
52 env: CONFIG=csharp
Tim Swast7e31c4d2015-11-20 15:32:53 -080053 # 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
Thomas Van Lenten9642b822015-06-10 17:21:23 -040057 # 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
Thomas Van Lentenc4d36382015-06-09 13:35:41 -040064 allow_failures:
65 # These currently do not work on OS X but are being worked on by @haberman.
Feng Xiao9cbdaed2015-06-08 13:00:45 -070066 - os: osx
67 env: CONFIG=ruby22
68 - os: osx
69 env: CONFIG=jruby
Thomas Van Lentene0dd14c2016-02-18 13:22:05 -050070 # https://github.com/google/protobuf/issues/1253 - Started failing when
71 # we moved to an OS X image that is 10.11.
72 - os: osx
73 env: CONFIG=python_cpp
Thomas Van Lenten8d47d782016-03-29 09:21:50 -040074 # xctool 0.2.8 seems to have a bug where it randomly kills tests saying
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.
81 - os: osx
82 env: CONFIG=objectivec_ios
Feng Xiao0c7f6242014-12-12 17:22:35 -080083notifications:
84 email: false