.travis.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # 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.
  4. language: cpp
  5. script: ./tests.sh $CONFIG
  6. # The test matrix is manually built to cover a mix of linux and macOS
  7. # hosted setups; this lets some extra settings be done specific to each
  8. # host/language instead of forcing common values on all the tests.
  9. matrix:
  10. include:
  11. # -----------------------------------------------------------------
  12. # macOS hosted tests for Objective-C
  13. - os: osx
  14. env: CONFIG=objectivec_osx
  15. osx_image: xcode9.3
  16. language: objective-c
  17. # iOS build log was starting to choke travis UI, so split to cover the
  18. # Xcode Debug and Release Configurations independently.
  19. - os: osx
  20. env: CONFIG=objectivec_ios_debug
  21. osx_image: xcode9.3
  22. language: objective-c
  23. - os: osx
  24. env: CONFIG=objectivec_ios_release
  25. osx_image: xcode9.3
  26. language: objective-c
  27. - os: osx
  28. env: CONFIG=objectivec_cocoapods_integration
  29. osx_image: xcode9.3
  30. language: objective-c
  31. # -----------------------------------------------------------------
  32. # macOS hosted tests for other languages.
  33. - os: osx
  34. env: CONFIG=cpp
  35. - os: osx
  36. env: CONFIG=cpp_distcheck
  37. - os: osx
  38. env: CONFIG=javascript
  39. - os: osx
  40. env: CONFIG=python
  41. - os: osx
  42. env: CONFIG=python_cpp
  43. - os: osx
  44. env: CONFIG=php5.6_mac
  45. - os: osx
  46. env: CONFIG=php7.0_mac
  47. # -----------------------------------------------------------------
  48. # Linux hosted tests
  49. # The dotnet environment requires Ubuntu 14.04 or 16.04. This
  50. # configuration is effectively an "extra" one, outside the
  51. # autogenerated matrix.
  52. - os: linux
  53. env: CONFIG=csharp
  54. language: csharp
  55. dist: trusty
  56. dotnet: 2.0.3
  57. mono: none
  58. # Install the .NET Core 1.0 runtime as that's what we test against
  59. addons:
  60. apt:
  61. sources:
  62. - sourceline: 'deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main'
  63. key_url: 'https://packages.microsoft.com/keys/microsoft.asc'
  64. packages:
  65. - dotnet-sharedframework-microsoft.netcore.app-1.0.5
  66. # This test is kept on travis because it doesn't play nicely with other
  67. # tests on jenkins running in parallel.
  68. - os: linux
  69. env: CONFIG=cpp_distcheck
  70. # The Java compatibility test currently only runs on Linux because it will
  71. # fetch pre-built Linux protoc binaries in the test.
  72. - os: linux
  73. env: CONFIG=java_compatibility
  74. sudo: required
  75. dist: trusty
  76. # The Python 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=python_compatibility
  80. sudo: required
  81. dist: trusty
  82. notifications:
  83. email: false