.travis.yml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. sudo: false
  2. language: cpp
  3. matrix:
  4. include:
  5. - addons:
  6. apt:
  7. sources: ['ubuntu-toolchain-r-test']
  8. packages: ['g++-4.4']
  9. env: SCRIPT=test _CC=gcc-4.4 _CXX=g++-4.4
  10. - addons:
  11. apt:
  12. sources: ['ubuntu-toolchain-r-test']
  13. packages: ['g++-4.6']
  14. env: SCRIPT=test _CC=gcc-4.6 _CXX=g++-4.6
  15. - addons:
  16. apt:
  17. sources: ['ubuntu-toolchain-r-test']
  18. packages: ['g++-4.7']
  19. env: SCRIPT=test _CC=gcc-4.7 _CXX=g++-4.7
  20. - addons:
  21. apt:
  22. sources: ['ubuntu-toolchain-r-test']
  23. packages: ['g++-4.8']
  24. env: SCRIPT=test _CC=gcc-4.8 _CXX=g++-4.8 SANITIZE=address
  25. - addons:
  26. apt:
  27. sources: ['ubuntu-toolchain-r-test']
  28. packages: ['g++-4.9']
  29. env: SCRIPT=test _CC=gcc-4.9 _CXX=g++-4.9 SANITIZE=leak
  30. - addons:
  31. apt:
  32. sources: ['ubuntu-toolchain-r-test']
  33. packages: ['g++-5']
  34. env: SCRIPT=test _CC=gcc-5 _CXX=g++-5 # SANITIZE=undefined
  35. - addons:
  36. apt:
  37. sources: ['ubuntu-toolchain-r-test']
  38. packages: ['g++-6']
  39. env: SCRIPT=test _CC=gcc-6 _CXX=g++-6
  40. - addons:
  41. apt:
  42. sources: ['ubuntu-toolchain-r-test']
  43. packages: ['g++-7']
  44. env: SCRIPT=test _CC=gcc-7 _CXX=g++-7
  45. - addons:
  46. apt:
  47. sources: ['ubuntu-toolchain-r-test']
  48. packages: ['g++-8']
  49. env: SCRIPT=test _CC=gcc-8 _CXX=g++-8
  50. - addons:
  51. apt:
  52. packages: ['g++-arm-linux-gnueabihf']
  53. env: SCRIPT=build _CC=arm-linux-gnueabihf-gcc _CXX=arm-linux-gnueabihf-g++
  54. - env: SCRIPT=test _CC=clang _CXX=clang++
  55. - addons:
  56. apt:
  57. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5']
  58. packages: ['clang-3.5']
  59. env: SCRIPT=test _CC=clang-3.5 _CXX=clang++-3.5 SANITIZE=address
  60. - addons:
  61. apt:
  62. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.6']
  63. packages: ['clang-3.6']
  64. env: SCRIPT=test _CC=clang-3.6 _CXX=clang++-3.6 SANITIZE=leak
  65. - addons:
  66. apt:
  67. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.7']
  68. packages: ['clang-3.7']
  69. env: SCRIPT=test _CC=clang-3.7 _CXX=clang++-3.7
  70. - addons:
  71. apt:
  72. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.8']
  73. packages: ['clang-3.8']
  74. env: SCRIPT=test _CC=clang-3.8 _CXX=clang++-3.8 SANITIZE=undefined
  75. - addons:
  76. apt:
  77. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-trusty-3.9']
  78. packages: ['clang-3.9']
  79. env: SCRIPT=test _CC=clang-3.9 _CXX=clang++-3.9
  80. - addons:
  81. apt:
  82. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-trusty-4.0']
  83. packages: ['clang-4.0']
  84. env: SCRIPT=test _CC=clang-4.0 _CXX=clang++-4.0
  85. - addons:
  86. apt:
  87. sources: ['ubuntu-toolchain-r-test']
  88. packages: ['clang-5.0']
  89. env: SCRIPT=test _CC=clang-5.0 _CXX=clang++-5.0
  90. - addons:
  91. apt:
  92. sources: ['ubuntu-toolchain-r-test']
  93. packages: ['clang-6.0']
  94. env: SCRIPT=test _CC=clang-6.0 _CXX=clang++-6.0
  95. - addons:
  96. apt:
  97. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-trusty-7']
  98. packages: ['clang-7']
  99. env: SCRIPT=test _CC=clang-7 _CXX=clang++-7
  100. - addons:
  101. apt:
  102. sources: ['ubuntu-toolchain-r-test','llvm-toolchain-trusty-8']
  103. packages: ['clang-8']
  104. env: SCRIPT=test _CC=clang-8 _CXX=clang++-8
  105. - env: SCRIPT=coverage
  106. - os: osx
  107. osx_image: xcode7.3
  108. env: SCRIPT=test
  109. - os: osx
  110. osx_image: xcode8.3
  111. env: SCRIPT=test
  112. - os: osx
  113. osx_image: xcode9.4
  114. env: SCRIPT=test
  115. - os: osx
  116. osx_image: xcode10
  117. env: SCRIPT=test SANITIZE=address
  118. - env: SCRIPT=arduino VERSION=1.6.7 BOARD=arduino:avr:uno
  119. - env: SCRIPT=arduino VERSION=1.8.2 BOARD=arduino:samd:mkr1000
  120. - env: SCRIPT=platformio BOARD=uno
  121. - env: SCRIPT=platformio BOARD=esp01
  122. - addons:
  123. apt:
  124. sources: ['ubuntu-toolchain-r-test']
  125. packages: ['clang-6.0','llvm-6.0']
  126. env: SCRIPT=fuzz CLANG=6.0
  127. cache:
  128. directories:
  129. - "~/.platformio"
  130. - "extras/fuzzing/json_corpus"
  131. - "extras/fuzzing/msgpack_corpus"
  132. script: extras/ci/$SCRIPT.sh