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
8.2 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: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
  33. install:
  34. travis/install_osx.sh
  35. script:
  36. travis/build.sh Build1
  37. - stage: Build (1st run)
  38. os: osx
  39. compiler: clang
  40. env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
  41. install:
  42. travis/install_osx.sh
  43. script:
  44. travis/build.sh Build1
  45. # ubuntu-16.10
  46. - stage: Build (1st run)
  47. os: linux
  48. compiler: gcc
  49. env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
  50. install:
  51. travis/install_linux.sh
  52. script:
  53. travis/build.sh Build1
  54. before_cache:
  55. docker cp storm:/storm/. .
  56. - stage: Build (1st run)
  57. os: linux
  58. compiler: gcc
  59. env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
  60. install:
  61. travis/install_linux.sh
  62. script:
  63. travis/build.sh 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: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc-6
  71. install:
  72. travis/install_linux.sh
  73. script:
  74. travis/build.sh Build1
  75. before_cache:
  76. docker cp storm:/storm/. .
  77. - stage: Build (1st run)
  78. os: linux
  79. compiler: gcc
  80. env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc-6
  81. install:
  82. travis/install_linux.sh
  83. script:
  84. travis/build.sh 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: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
  95. install:
  96. travis/install_osx.sh
  97. script:
  98. travis/build.sh Build2
  99. - stage: Build (2nd run)
  100. os: osx
  101. compiler: clang
  102. env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
  103. install:
  104. travis/install_osx.sh
  105. script:
  106. travis/build.sh Build2
  107. # ubuntu-16.10
  108. - stage: Build (2nd run)
  109. os: linux
  110. compiler: gcc
  111. env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
  112. install:
  113. travis/install_linux.sh
  114. script:
  115. travis/build.sh Build2
  116. before_cache:
  117. docker cp storm:/storm/. .
  118. - stage: Build (2nd run)
  119. os: linux
  120. compiler: gcc
  121. env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
  122. install:
  123. travis/install_linux.sh
  124. script:
  125. travis/build.sh 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: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc-6
  133. install:
  134. travis/install_linux.sh
  135. script:
  136. travis/build.sh Build2
  137. before_cache:
  138. docker cp storm:/storm/. .
  139. - stage: Build (2nd run)
  140. os: linux
  141. compiler: gcc
  142. env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc-6
  143. install:
  144. travis/install_linux.sh
  145. script:
  146. travis/build.sh 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: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
  157. install:
  158. travis/install_osx.sh
  159. script:
  160. travis/build.sh Build3
  161. - stage: Build (3rd run)
  162. os: osx
  163. compiler: clang
  164. env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
  165. install:
  166. travis/install_osx.sh
  167. script:
  168. travis/build.sh Build3
  169. # ubuntu-16.10
  170. - stage: Build (3rd run)
  171. os: linux
  172. compiler: gcc
  173. env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
  174. install:
  175. travis/install_linux.sh
  176. script:
  177. travis/build.sh Build3
  178. before_cache:
  179. docker cp storm:/storm/. .
  180. - stage: Build (3rd run)
  181. os: linux
  182. compiler: gcc
  183. env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
  184. install:
  185. travis/install_linux.sh
  186. script:
  187. travis/build.sh 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: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc-6
  195. install:
  196. travis/install_linux.sh
  197. script:
  198. travis/build.sh Build3
  199. before_cache:
  200. docker cp storm:/storm/. .
  201. - stage: Build (3rd run)
  202. os: linux
  203. compiler: gcc
  204. env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc-6
  205. install:
  206. travis/install_linux.sh
  207. script:
  208. travis/build.sh 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: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
  219. install:
  220. travis/install_osx.sh
  221. script:
  222. travis/build.sh Build4
  223. - stage: Build (4th run)
  224. os: osx
  225. compiler: clang
  226. env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
  227. install:
  228. travis/install_osx.sh
  229. script:
  230. travis/build.sh Build4
  231. # ubuntu-16.10
  232. - stage: Build (4th run)
  233. os: linux
  234. compiler: gcc
  235. env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
  236. install:
  237. travis/install_linux.sh
  238. script:
  239. travis/build.sh Build4
  240. before_cache:
  241. docker cp storm:/storm/. .
  242. - stage: Build (4th run)
  243. os: linux
  244. compiler: gcc
  245. env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
  246. install:
  247. travis/install_linux.sh
  248. script:
  249. travis/build.sh 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: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc-6
  257. install:
  258. travis/install_linux.sh
  259. script:
  260. travis/build.sh Build4
  261. before_cache:
  262. docker cp storm:/storm/. .
  263. - stage: Build (4th run)
  264. os: linux
  265. compiler: gcc
  266. env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc-6
  267. install:
  268. travis/install_linux.sh
  269. script:
  270. travis/build.sh 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: CONFIG=DefaultDebug COMPILER=clang-4.0 STL=libc++
  281. install:
  282. travis/install_osx.sh
  283. script:
  284. travis/build.sh TestAll
  285. - stage: Test all
  286. os: osx
  287. compiler: clang
  288. env: CONFIG=DefaultRelease COMPILER=clang-4.0 STL=libc++
  289. install:
  290. travis/install_osx.sh
  291. script:
  292. travis/build.sh TestAll
  293. # ubuntu-16.10
  294. - stage: Test all
  295. os: linux
  296. compiler: gcc
  297. env: CONFIG=DefaultDebug LINUX=ubuntu-16.10 COMPILER=gcc-6
  298. install:
  299. travis/install_linux.sh
  300. script:
  301. travis/build.sh TestAll
  302. before_cache:
  303. docker cp storm:/storm/. .
  304. - stage: Test all
  305. os: linux
  306. compiler: gcc
  307. env: CONFIG=DefaultRelease LINUX=ubuntu-16.10 COMPILER=gcc-6
  308. install:
  309. travis/install_linux.sh
  310. script:
  311. travis/build.sh TestAll
  312. before_cache:
  313. docker cp storm:/storm/. .
  314. # debian-9
  315. - stage: Test all
  316. os: linux
  317. compiler: gcc
  318. env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc-6
  319. install:
  320. travis/install_linux.sh
  321. script:
  322. travis/build.sh TestAll
  323. before_cache:
  324. docker cp storm:/storm/. .
  325. - stage: Test all
  326. os: linux
  327. compiler: gcc
  328. env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc-6
  329. install:
  330. travis/install_linux.sh
  331. script:
  332. travis/build.sh TestAll
  333. before_cache:
  334. docker cp storm:/storm/. .