blob: 999814664895824427256ace631ca153259a6b16 [file] [log] [blame]
Thomas Van Lenten6700f412017-11-14 23:00:02 -05001# Everything is driven by the test.sh, so the language doesn't really
Thomas Van Lentenc46571b2017-11-15 10:31:16 -05002# matter, it just controls the default install/script/etc. steps on
3# travis.
Chris Fallin20e94b22015-05-13 16:43:48 -07004language: cpp
Thomas Van Lenten6700f412017-11-14 23:00:02 -05005script: ./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 Xiao9cbdaed2015-06-08 13:00:45 -070010matrix:
Jon Skeet10a8fb42016-07-14 22:01:47 +010011 include:
Thomas Van Lenten6700f412017-11-14 23:00:02 -050012 # -----------------------------------------------------------------
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 Lenten6700f412017-11-14 23:00:02 -050049 - os: osx
50 env: CONFIG=php7.0_mac
Thomas Van Lenten6700f412017-11-14 23:00:02 -050051
52 # -----------------------------------------------------------------
53 # Linux hosted tests
54
Feng Xiao9702b9f2016-07-22 16:04:11 -070055 # The dotnet environment requires Ubuntu 14.04 or 16.04. This
56 # configuration is effectively an "extra" one, outside the
57 # autogenerated matrix.
Jon Skeet10a8fb42016-07-14 22:01:47 +010058 - os: linux
59 env: CONFIG=csharp
Jon Skeetf26e8c22017-05-04 08:51:46 +010060 language: csharp
Jon Skeet10a8fb42016-07-14 22:01:47 +010061 dist: trusty
Jon Skeet0c523352018-01-22 07:53:48 +000062 dotnet: 2.0.3
Jon Skeetf26e8c22017-05-04 08:51:46 +010063 mono: none
Jon Skeet0c523352018-01-22 07:53:48 +000064 # 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 Xiao9702b9f2016-07-22 16:04:11 -070072 # 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 Xiaobaa40232016-07-29 14:11:21 -070076 # 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 Lenten6700f412017-11-14 23:00:02 -050080 sudo: required
81 dist: trusty
Jie Luoea511492017-01-23 15:11:00 -080082 # 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 Lenten6700f412017-11-14 23:00:02 -050086 sudo: required
87 dist: trusty
88
Feng Xiao0c7f6242014-12-12 17:22:35 -080089notifications:
90 email: false