Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 1 | # Everything is driven by the test.sh, so the language doesn't really |
Thomas Van Lenten | c46571b | 2017-11-15 10:31:16 -0500 | [diff] [blame] | 2 | # matter, it just controls the default install/script/etc. steps on |
| 3 | # travis. |
Chris Fallin | 20e94b2 | 2015-05-13 16:43:48 -0700 | [diff] [blame] | 4 | language: cpp |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 5 | script: ./tests.sh $CONFIG |
| 6 | |
| 7 | # The test matrix is manually built to cover a mix of linux and macOS |
| 8 | # hosted setups; this lets some extra settings be done specific to each |
| 9 | # host/language instead of forcing common values on all the tests. |
Feng Xiao | 9cbdaed | 2015-06-08 13:00:45 -0700 | [diff] [blame] | 10 | matrix: |
Jon Skeet | 10a8fb4 | 2016-07-14 22:01:47 +0100 | [diff] [blame] | 11 | include: |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 12 | # ----------------------------------------------------------------- |
| 13 | # macOS hosted tests for Objective-C |
| 14 | |
| 15 | - os: osx |
| 16 | env: CONFIG=objectivec_osx |
| 17 | osx_image: xcode9.1 |
| 18 | language: objective-c |
| 19 | # iOS build log was starting to choke travis UI, so split to cover the |
| 20 | # Xcode Debug and Release Configurations independently. |
| 21 | - os: osx |
| 22 | env: CONFIG=objectivec_ios_debug |
| 23 | osx_image: xcode9.1 |
| 24 | language: objective-c |
| 25 | - os: osx |
| 26 | env: CONFIG=objectivec_ios_release |
| 27 | osx_image: xcode9.1 |
| 28 | language: objective-c |
| 29 | - os: osx |
| 30 | env: CONFIG=objectivec_cocoapods_integration |
| 31 | osx_image: xcode9.1 |
| 32 | language: objective-c |
| 33 | |
| 34 | # ----------------------------------------------------------------- |
| 35 | # macOS hosted tests for other languages. |
| 36 | |
| 37 | - os: osx |
| 38 | env: CONFIG=cpp |
| 39 | - os: osx |
| 40 | env: CONFIG=cpp_distcheck |
| 41 | - os: osx |
| 42 | env: CONFIG=javascript |
| 43 | - os: osx |
| 44 | env: CONFIG=python |
| 45 | - os: osx |
| 46 | env: CONFIG=python_cpp |
| 47 | - os: osx |
| 48 | env: CONFIG=php5.6_mac |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 49 | - os: osx |
| 50 | env: CONFIG=php7.0_mac |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 51 | |
| 52 | # ----------------------------------------------------------------- |
| 53 | # Linux hosted tests |
| 54 | |
Feng Xiao | 9702b9f | 2016-07-22 16:04:11 -0700 | [diff] [blame] | 55 | # The dotnet environment requires Ubuntu 14.04 or 16.04. This |
| 56 | # configuration is effectively an "extra" one, outside the |
| 57 | # autogenerated matrix. |
Jon Skeet | 10a8fb4 | 2016-07-14 22:01:47 +0100 | [diff] [blame] | 58 | - os: linux |
| 59 | env: CONFIG=csharp |
Jon Skeet | f26e8c2 | 2017-05-04 08:51:46 +0100 | [diff] [blame] | 60 | language: csharp |
Jon Skeet | 10a8fb4 | 2016-07-14 22:01:47 +0100 | [diff] [blame] | 61 | dist: trusty |
Jon Skeet | 0c52335 | 2018-01-22 07:53:48 +0000 | [diff] [blame] | 62 | dotnet: 2.0.3 |
Jon Skeet | f26e8c2 | 2017-05-04 08:51:46 +0100 | [diff] [blame] | 63 | mono: none |
Jon Skeet | 0c52335 | 2018-01-22 07:53:48 +0000 | [diff] [blame] | 64 | # Install the .NET Core 1.0 runtime as that's what we test against |
| 65 | addons: |
| 66 | apt: |
| 67 | sources: |
| 68 | - sourceline: 'deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main' |
| 69 | key_url: 'https://packages.microsoft.com/keys/microsoft.asc' |
| 70 | packages: |
| 71 | - dotnet-sharedframework-microsoft.netcore.app-1.0.5 |
Feng Xiao | 9702b9f | 2016-07-22 16:04:11 -0700 | [diff] [blame] | 72 | # This test is kept on travis because it doesn't play nicely with other |
| 73 | # tests on jenkins running in parallel. |
| 74 | - os: linux |
| 75 | env: CONFIG=cpp_distcheck |
Feng Xiao | baa4023 | 2016-07-29 14:11:21 -0700 | [diff] [blame] | 76 | # The Java compatibility test currently only runs on Linux because it will |
| 77 | # fetch pre-built Linux protoc binaries in the test. |
| 78 | - os: linux |
| 79 | env: CONFIG=java_compatibility |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 80 | sudo: required |
| 81 | dist: trusty |
Jie Luo | ea51149 | 2017-01-23 15:11:00 -0800 | [diff] [blame] | 82 | # The Python compatibility test currently only runs on Linux because it will |
| 83 | # fetch pre-built Linux protoc binaries in the test. |
| 84 | - os: linux |
| 85 | env: CONFIG=python_compatibility |
Thomas Van Lenten | 6700f41 | 2017-11-14 23:00:02 -0500 | [diff] [blame] | 86 | sudo: required |
| 87 | dist: trusty |
| 88 | |
Feng Xiao | 0c7f624 | 2014-12-12 17:22:35 -0800 | [diff] [blame] | 89 | notifications: |
| 90 | email: false |