Home | History | Annotate | Download | only in protobuf
      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 7.0 or later.
     11 osx_image: xcode7.2
     12 script:
     13   - ./tests.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     # 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
     74     # 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
     83 notifications:
     84   email: false
     85