| # Everything is driven by the test.sh, so the language doesn't really |
| # matter, it just controls the default install/script/etc. steps on |
| # travis. |
| language: cpp |
| script: ./tests.sh $CONFIG |
| |
| # The test matrix is manually built to cover a mix of linux and macOS |
| # hosted setups; this lets some extra settings be done specific to each |
| # host/language instead of forcing common values on all the tests. |
| matrix: |
| include: |
| # ----------------------------------------------------------------- |
| # macOS hosted tests for Objective-C |
| |
| - os: osx |
| env: CONFIG=objectivec_osx |
| osx_image: xcode9.3 |
| language: objective-c |
| # iOS build log was starting to choke travis UI, so split to cover the |
| # Xcode Debug and Release Configurations independently. |
| - os: osx |
| env: CONFIG=objectivec_ios_debug |
| osx_image: xcode9.3 |
| language: objective-c |
| - os: osx |
| env: CONFIG=objectivec_ios_release |
| osx_image: xcode9.3 |
| language: objective-c |
| - os: osx |
| env: CONFIG=objectivec_cocoapods_integration |
| osx_image: xcode9.3 |
| language: objective-c |
| |
| # ----------------------------------------------------------------- |
| # macOS hosted tests for other languages. |
| |
| - os: osx |
| env: CONFIG=cpp |
| - os: osx |
| env: CONFIG=cpp_distcheck |
| - os: osx |
| env: CONFIG=javascript |
| - os: osx |
| env: CONFIG=python |
| - os: osx |
| env: CONFIG=python_cpp |
| - os: osx |
| env: CONFIG=php5.6_mac |
| - os: osx |
| env: CONFIG=php7.0_mac |
| |
| # ----------------------------------------------------------------- |
| # Linux hosted tests |
| |
| # The dotnet environment requires Ubuntu 14.04 or 16.04. This |
| # configuration is effectively an "extra" one, outside the |
| # autogenerated matrix. |
| - os: linux |
| env: CONFIG=csharp |
| language: csharp |
| dist: trusty |
| dotnet: 2.0.3 |
| mono: none |
| # Install the .NET Core 1.0 runtime as that's what we test against |
| addons: |
| apt: |
| sources: |
| - sourceline: 'deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main' |
| key_url: 'https://packages.microsoft.com/keys/microsoft.asc' |
| packages: |
| - dotnet-sharedframework-microsoft.netcore.app-1.0.5 |
| # This test is kept on travis because it doesn't play nicely with other |
| # tests on jenkins running in parallel. |
| - os: linux |
| env: CONFIG=cpp_distcheck |
| # The Java compatibility test currently only runs on Linux because it will |
| # fetch pre-built Linux protoc binaries in the test. |
| - os: linux |
| env: CONFIG=java_compatibility |
| sudo: required |
| dist: trusty |
| # The Python compatibility test currently only runs on Linux because it will |
| # fetch pre-built Linux protoc binaries in the test. |
| - os: linux |
| env: CONFIG=python_compatibility |
| sudo: required |
| dist: trusty |
| |
| notifications: |
| email: false |