# 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.1 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.1 language: objective-c - os: osx env: CONFIG=objectivec_ios_release osx_image: xcode9.1 language: objective-c - os: osx env: CONFIG=objectivec_cocoapods_integration osx_image: xcode9.1 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 sudo: required dotnet: 1.0.4 mono: none # 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