You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

270 lines
9.5 KiB

  1. # This file was inspired from https://github.com/google/fruit
  2. #
  3. # General config
  4. #
  5. branches:
  6. only:
  7. - master
  8. dist: trusty
  9. language: cpp
  10. # Enable caching
  11. cache:
  12. timeout: 600
  13. directories:
  14. - build
  15. - travis/mtime_cache
  16. # Enable docker support
  17. services:
  18. - docker
  19. sudo: required
  20. #
  21. # Configurations
  22. #
  23. matrix:
  24. fast_finish: true
  25. include:
  26. ###
  27. # ubuntu-16.10
  28. ###
  29. - stage: Build dependencies
  30. os: linux
  31. compiler: gcc
  32. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  33. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  34. travis/install_linux.sh
  35. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  36. travis/postsubmit.sh DefaultDebug BuildDep
  37. before_cache:
  38. docker cp storm:/storm/. .
  39. - stage: Build library
  40. os: linux
  41. compiler: gcc
  42. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  43. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  44. travis/install_linux.sh
  45. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  46. travis/postsubmit.sh DefaultDebug BuildLib
  47. before_cache:
  48. docker cp storm:/storm/. .
  49. - stage: Build all
  50. os: linux
  51. compiler: gcc
  52. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  53. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  54. travis/install_linux.sh
  55. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  56. travis/postsubmit.sh DefaultDebug BuildAll
  57. before_cache:
  58. docker cp storm:/storm/. .
  59. - stage: Test all
  60. os: linux
  61. compiler: gcc
  62. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  63. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  64. travis/install_linux.sh
  65. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  66. travis/postsubmit.sh DefaultDebug TestAll
  67. before_cache:
  68. docker cp storm:/storm/. .
  69. - stage: Build dependencies
  70. os: linux
  71. compiler: gcc
  72. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  73. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  74. travis/install_linux.sh
  75. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  76. travis/postsubmit.sh DefaultRelease BuildDep
  77. before_cache:
  78. docker cp storm:/storm/. .
  79. - stage: Build library
  80. os: linux
  81. compiler: gcc
  82. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  83. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  84. travis/install_linux.sh
  85. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  86. travis/postsubmit.sh DefaultRelease BuildLib
  87. before_cache:
  88. docker cp storm:/storm/. .
  89. - stage: Build all
  90. os: linux
  91. compiler: gcc
  92. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  93. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  94. travis/install_linux.sh
  95. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  96. travis/postsubmit.sh DefaultRelease BuildAll
  97. before_cache:
  98. docker cp storm:/storm/. .
  99. - stage: Test all
  100. os: linux
  101. compiler: gcc
  102. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  103. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  104. travis/install_linux.sh
  105. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10'
  106. travis/postsubmit.sh DefaultRelease TestAll
  107. before_cache:
  108. docker cp storm:/storm/. .
  109. ###
  110. # debian-9
  111. ###
  112. - stage: Build dependencies
  113. os: linux
  114. compiler: gcc
  115. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  116. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  117. travis/install_linux.sh
  118. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  119. travis/postsubmit.sh DefaultDebug BuildDep
  120. before_cache:
  121. docker cp storm:/storm/. .
  122. - stage: Build library
  123. os: linux
  124. compiler: gcc
  125. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  126. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  127. travis/install_linux.sh
  128. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  129. travis/postsubmit.sh DefaultDebug BuildLib
  130. before_cache:
  131. docker cp storm:/storm/. .
  132. - stage: Build all
  133. os: linux
  134. compiler: gcc
  135. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  136. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  137. travis/install_linux.sh
  138. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  139. travis/postsubmit.sh DefaultDebug BuildAll
  140. before_cache:
  141. docker cp storm:/storm/. .
  142. - stage: Test all
  143. os: linux
  144. compiler: gcc
  145. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  146. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  147. travis/install_linux.sh
  148. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  149. travis/postsubmit.sh DefaultDebug TestAll
  150. before_cache:
  151. docker cp storm:/storm/. .
  152. - stage: Build dependencies
  153. os: linux
  154. compiler: gcc
  155. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  156. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  157. travis/install_linux.sh
  158. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  159. travis/postsubmit.sh DefaultRelease BuildDep
  160. before_cache:
  161. docker cp storm:/storm/. .
  162. - stage: Build library
  163. os: linux
  164. compiler: gcc
  165. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  166. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  167. travis/install_linux.sh
  168. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  169. travis/postsubmit.sh DefaultRelease BuildLib
  170. before_cache:
  171. docker cp storm:/storm/. .
  172. - stage: Build all
  173. os: linux
  174. compiler: gcc
  175. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  176. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  177. travis/install_linux.sh
  178. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  179. travis/postsubmit.sh DefaultRelease BuildAll
  180. before_cache:
  181. docker cp storm:/storm/. .
  182. - stage: Test all
  183. os: linux
  184. compiler: gcc
  185. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  186. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  187. travis/install_linux.sh
  188. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9'
  189. travis/postsubmit.sh DefaultRelease TestAll
  190. before_cache:
  191. docker cp storm:/storm/. .
  192. ###
  193. # osx
  194. ###
  195. - stage: Build dependencies
  196. os: osx
  197. compiler: clang
  198. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  199. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  200. travis/install_osx.sh
  201. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  202. travis/postsubmit.sh DefaultDebug BuildDep
  203. - stage: Build library
  204. os: osx
  205. compiler: clang
  206. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  207. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  208. travis/install_osx.sh
  209. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  210. travis/postsubmit.sh DefaultDebug BuildLib
  211. - stage: Build all
  212. os: osx
  213. compiler: clang
  214. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  215. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  216. travis/install_osx.sh
  217. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  218. travis/postsubmit.sh DefaultDebug BuildAll
  219. - stage: Test all
  220. os: osx
  221. compiler: clang
  222. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  223. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  224. travis/install_osx.sh
  225. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  226. travis/postsubmit.sh DefaultDebug TestAll
  227. - stage: Build dependencies
  228. os: osx
  229. compiler: clang
  230. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  231. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  232. travis/install_osx.sh
  233. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  234. travis/postsubmit.sh DefaultRelease BuildDep
  235. - stage: Build library
  236. os: osx
  237. compiler: clang
  238. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  239. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  240. travis/install_osx.sh
  241. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  242. travis/postsubmit.sh DefaultRelease BuildLib
  243. - stage: Build all
  244. os: osx
  245. compiler: clang
  246. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  247. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  248. travis/install_osx.sh
  249. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  250. travis/postsubmit.sh DefaultRelease BuildAll
  251. - stage: Test all
  252. os: osx
  253. compiler: clang
  254. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  255. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  256. travis/install_osx.sh
  257. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++'
  258. travis/postsubmit.sh DefaultRelease TestAll