blob: 74d4ea7bebc6a25363c1d91b5574d9efa7af8c01 [file] [log] [blame]
Austin Schuh40c16522018-10-28 20:27:54 -07001# Everything is driven by the test.sh, so the language doesn't really
2# matter, it just controls the default install/script/etc. steps on
3# travis.
Brian Silverman9c614bc2016-02-15 20:20:02 -05004language: cpp
Austin Schuh40c16522018-10-28 20:27:54 -07005script: ./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.
Brian Silverman9c614bc2016-02-15 20:20:02 -050010matrix:
Brian Silverman9c614bc2016-02-15 20:20:02 -050011 include:
Austin Schuh40c16522018-10-28 20:27:54 -070012 # -----------------------------------------------------------------
13 # macOS hosted tests for Objective-C
14
Brian Silverman9c614bc2016-02-15 20:20:02 -050015 - os: osx
16 env: CONFIG=objectivec_osx
Austin Schuh40c16522018-10-28 20:27:54 -070017 osx_image: xcode9.3
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.
Brian Silverman9c614bc2016-02-15 20:20:02 -050021 - os: osx
Austin Schuh40c16522018-10-28 20:27:54 -070022 env: CONFIG=objectivec_ios_debug
23 osx_image: xcode9.3
24 language: objective-c
Brian Silverman9c614bc2016-02-15 20:20:02 -050025 - os: osx
Austin Schuh40c16522018-10-28 20:27:54 -070026 env: CONFIG=objectivec_ios_release
27 osx_image: xcode9.3
28 language: objective-c
29 - os: osx
30 env: CONFIG=objectivec_cocoapods_integration
31 osx_image: xcode9.3
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
49 - os: osx
50 env: CONFIG=php7.0_mac
51
52 # -----------------------------------------------------------------
53 # Linux hosted tests
54
55 # The dotnet environment requires Ubuntu 14.04 or 16.04. This
56 # configuration is effectively an "extra" one, outside the
57 # autogenerated matrix.
58 - os: linux
59 env: CONFIG=csharp
60 language: csharp
61 dist: trusty
62 dotnet: 2.0.3
63 mono: none
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
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
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
80 sudo: required
81 dist: trusty
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
86 sudo: required
87 dist: trusty
88
Brian Silverman9c614bc2016-02-15 20:20:02 -050089notifications:
90 email: false