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.

349 lines
13 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. jobs:
  24. include:
  25. ###
  26. # Stage: Build (1st run)
  27. ###
  28. # osx
  29. - stage: Build (1st run)
  30. os: osx
  31. compiler: clang
  32. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  33. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  34. travis/install_osx.sh
  35. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  36. travis/build.sh DefaultDebug Build1
  37. - stage: Build (1st run)
  38. os: osx
  39. compiler: clang
  40. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  41. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  42. travis/install_osx.sh
  43. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  44. travis/build.sh DefaultRelease Build1
  45. # ubuntu-16.10
  46. - stage: Build (1st run)
  47. os: linux
  48. compiler: gcc
  49. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  50. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  51. travis/install_linux.sh
  52. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  53. travis/build.sh DefaultDebug Build1
  54. before_cache:
  55. docker cp storm:/storm/. .
  56. - stage: Build (1st run)
  57. os: linux
  58. compiler: gcc
  59. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  60. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  61. travis/install_linux.sh
  62. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  63. travis/build.sh DefaultRelease Build1
  64. before_cache:
  65. docker cp storm:/storm/. .
  66. # debian-9
  67. - stage: Build (1st run)
  68. os: linux
  69. compiler: gcc
  70. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  71. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  72. travis/install_linux.sh
  73. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  74. travis/build.sh DefaultDebug Build1
  75. before_cache:
  76. docker cp storm:/storm/. .
  77. - stage: Build (1st run)
  78. os: linux
  79. compiler: gcc
  80. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  81. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  82. travis/install_linux.sh
  83. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  84. travis/build.sh DefaultRelease Build1
  85. before_cache:
  86. docker cp storm:/storm/. .
  87. ###
  88. # Stage: Build (2nd run)
  89. ###
  90. # osx
  91. - stage: Build (2nd run)
  92. os: osx
  93. compiler: clang
  94. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  95. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  96. travis/install_osx.sh
  97. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  98. travis/build.sh DefaultDebug Build2
  99. - stage: Build (2nd run)
  100. os: osx
  101. compiler: clang
  102. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  103. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  104. travis/install_osx.sh
  105. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  106. travis/build.sh DefaultRelease Build2
  107. # ubuntu-16.10
  108. - stage: Build (2nd run)
  109. os: linux
  110. compiler: gcc
  111. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  112. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  113. travis/install_linux.sh
  114. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  115. travis/build.sh DefaultDebug Build2
  116. before_cache:
  117. docker cp storm:/storm/. .
  118. - stage: Build (2nd run)
  119. os: linux
  120. compiler: gcc
  121. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  122. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  123. travis/install_linux.sh
  124. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  125. travis/build.sh DefaultRelease Build2
  126. before_cache:
  127. docker cp storm:/storm/. .
  128. # debian-9
  129. - stage: Build (2nd run)
  130. os: linux
  131. compiler: gcc
  132. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  133. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  134. travis/install_linux.sh
  135. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  136. travis/build.sh DefaultDebug Build2
  137. before_cache:
  138. docker cp storm:/storm/. .
  139. - stage: Build (2nd run)
  140. os: linux
  141. compiler: gcc
  142. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  143. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  144. travis/install_linux.sh
  145. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  146. travis/build.sh DefaultRelease Build2
  147. before_cache:
  148. docker cp storm:/storm/. .
  149. ###
  150. # Stage: Build (3rd run)
  151. ###
  152. # osx
  153. - stage: Build (3rd run)
  154. os: osx
  155. compiler: clang
  156. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  157. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  158. travis/install_osx.sh
  159. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  160. travis/build.sh DefaultDebug Build3
  161. - stage: Build (3rd run)
  162. os: osx
  163. compiler: clang
  164. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  165. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  166. travis/install_osx.sh
  167. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  168. travis/build.sh DefaultRelease Build3
  169. # ubuntu-16.10
  170. - stage: Build (3rd run)
  171. os: linux
  172. compiler: gcc
  173. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  174. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  175. travis/install_linux.sh
  176. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  177. travis/build.sh DefaultDebug Build3
  178. before_cache:
  179. docker cp storm:/storm/. .
  180. - stage: Build (3rd run)
  181. os: linux
  182. compiler: gcc
  183. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  184. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  185. travis/install_linux.sh
  186. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  187. travis/build.sh DefaultRelease Build3
  188. before_cache:
  189. docker cp storm:/storm/. .
  190. # debian-9
  191. - stage: Build (3rd run)
  192. os: linux
  193. compiler: gcc
  194. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  195. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  196. travis/install_linux.sh
  197. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  198. travis/build.sh DefaultDebug Build3
  199. before_cache:
  200. docker cp storm:/storm/. .
  201. - stage: Build (3rd run)
  202. os: linux
  203. compiler: gcc
  204. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  205. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  206. travis/install_linux.sh
  207. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  208. travis/build.sh DefaultRelease Build3
  209. before_cache:
  210. docker cp storm:/storm/. .
  211. ###
  212. # Stage: Build (4th run)
  213. ###
  214. # osx
  215. - stage: Build (4th run)
  216. os: osx
  217. compiler: clang
  218. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  219. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  220. travis/install_osx.sh
  221. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  222. travis/build.sh DefaultDebug Build4
  223. - stage: Build (4th run)
  224. os: osx
  225. compiler: clang
  226. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  227. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  228. travis/install_osx.sh
  229. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  230. travis/build.sh DefaultRelease Build4
  231. # ubuntu-16.10
  232. - stage: Build (4th run)
  233. os: linux
  234. compiler: gcc
  235. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  236. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  237. travis/install_linux.sh
  238. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  239. travis/build.sh DefaultDebug Build4
  240. before_cache:
  241. docker cp storm:/storm/. .
  242. - stage: Build (4th run)
  243. os: linux
  244. compiler: gcc
  245. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  246. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  247. travis/install_linux.sh
  248. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  249. travis/build.sh DefaultRelease Build4
  250. before_cache:
  251. docker cp storm:/storm/. .
  252. # debian-9
  253. - stage: Build (4th run)
  254. os: linux
  255. compiler: gcc
  256. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  257. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  258. travis/install_linux.sh
  259. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  260. travis/build.sh DefaultDebug Build4
  261. before_cache:
  262. docker cp storm:/storm/. .
  263. - stage: Build (4th run)
  264. os: linux
  265. compiler: gcc
  266. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  267. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  268. travis/install_linux.sh
  269. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  270. travis/build.sh DefaultRelease Build4
  271. before_cache:
  272. docker cp storm:/storm/. .
  273. ###
  274. # Stage: Test all
  275. ###
  276. # osx
  277. - stage: Test all
  278. os: osx
  279. compiler: clang
  280. env: BUILD=DefaultDebug COMPILER=clang-4.0 STL=libc++
  281. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  282. travis/install_osx.sh
  283. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  284. travis/build.sh DefaultDebug TestAll
  285. - stage: Test all
  286. os: osx
  287. compiler: clang
  288. env: BUILD=DefaultRelease COMPILER=clang-4.0 STL=libc++
  289. install: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  290. travis/install_osx.sh
  291. script: export OS=osx; export COMPILER='clang-4.0'; export STL='libc++';
  292. travis/build.sh DefaultRelease TestAll
  293. # ubuntu-16.10
  294. - stage: Test all
  295. os: linux
  296. compiler: gcc
  297. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=ubuntu-16.10
  298. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  299. travis/install_linux.sh
  300. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  301. travis/build.sh DefaultDebug TestAll
  302. before_cache:
  303. docker cp storm:/storm/. .
  304. - stage: Test all
  305. os: linux
  306. compiler: gcc
  307. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=ubuntu-16.10
  308. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  309. travis/install_linux.sh
  310. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='ubuntu-16.10';
  311. travis/build.sh DefaultRelease TestAll
  312. before_cache:
  313. docker cp storm:/storm/. .
  314. # debian-9
  315. - stage: Test all
  316. os: linux
  317. compiler: gcc
  318. env: BUILD=DefaultDebug COMPILER=gcc-6 LINUX=debian-9
  319. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  320. travis/install_linux.sh
  321. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  322. travis/build.sh DefaultDebug TestAll
  323. before_cache:
  324. docker cp storm:/storm/. .
  325. - stage: Test all
  326. os: linux
  327. compiler: gcc
  328. env: BUILD=DefaultRelease COMPILER=gcc-6 LINUX=debian-9
  329. install: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  330. travis/install_linux.sh
  331. script: export OS=linux; export COMPILER='gcc-6'; export LINUX='debian-9';
  332. travis/build.sh DefaultRelease TestAll
  333. before_cache:
  334. docker cp storm:/storm/. .