build.gitlab-ci.yml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. .build:linux:base:
  2. stage: build
  3. image: ubuntu:18.04
  4. before_script:
  5. - apt-get update -y
  6. - apt-get install -y --no-install-recommends software-properties-common
  7. - add-apt-repository -y ppa:ubuntu-toolchain-r/test
  8. - apt-get update
  9. - apt-get install --no-install-recommends -y ${EIGEN_CI_CXX_COMPILER}
  10. ${EIGEN_CI_CC_COMPILER} cmake ninja-build
  11. script:
  12. - mkdir -p ${BUILDDIR} && cd ${BUILDDIR}
  13. - CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G
  14. ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11}
  15. ${EIGEN_CI_ADDITIONAL_ARGS} ..
  16. - cmake --build . --target buildtests
  17. artifacts:
  18. name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
  19. paths:
  20. - ${BUILDDIR}/
  21. expire_in: 5 days
  22. only:
  23. - schedules
  24. ######## x86-64 ################################################################
  25. # GCC-4.8 (the oldest compiler we support)
  26. build:x86-64:linux:gcc-4.8:cxx11-off:
  27. extends: .build:linux:base
  28. variables:
  29. EIGEN_CI_CXX_COMPILER: "g++-4.8"
  30. EIGEN_CI_CC_COMPILER: "gcc-4.8"
  31. EIGEN_TEST_CXX11: "off"
  32. tags:
  33. - eigen-runner
  34. - linux
  35. - x86-64
  36. build:x86-64:linux:gcc-4.8:cxx11-on:
  37. extends: .build:linux:base
  38. variables:
  39. EIGEN_CI_CXX_COMPILER: "g++-4.8"
  40. EIGEN_CI_CC_COMPILER: "gcc-4.8"
  41. EIGEN_TEST_CXX11: "on"
  42. tags:
  43. - eigen-runner
  44. - linux
  45. - x86-64
  46. # GCC-9
  47. build:x86-64:linux:gcc-9:cxx11-off:
  48. extends: .build:linux:base
  49. variables:
  50. EIGEN_CI_CXX_COMPILER: "g++-9"
  51. EIGEN_CI_CC_COMPILER: "gcc-9"
  52. EIGEN_TEST_CXX11: "off"
  53. tags:
  54. - eigen-runner
  55. - linux
  56. - x86-64
  57. build:x86-64:linux:gcc-9:cxx11-on:
  58. extends: .build:linux:base
  59. variables:
  60. EIGEN_CI_CXX_COMPILER: "g++-9"
  61. EIGEN_CI_CC_COMPILER: "gcc-9"
  62. EIGEN_TEST_CXX11: "on"
  63. tags:
  64. - eigen-runner
  65. - linux
  66. - x86-64
  67. # GCC-10
  68. build:x86-64:linux:gcc-10:cxx11-off:
  69. extends: .build:linux:base
  70. variables:
  71. EIGEN_CI_CXX_COMPILER: "g++-10"
  72. EIGEN_CI_CC_COMPILER: "gcc-10"
  73. EIGEN_TEST_CXX11: "off"
  74. tags:
  75. - eigen-runner
  76. - linux
  77. - x86-64
  78. build:x86-64:linux:gcc-10:cxx11-on:
  79. extends: .build:linux:base
  80. variables:
  81. EIGEN_CI_CXX_COMPILER: "g++-10"
  82. EIGEN_CI_CC_COMPILER: "gcc-10"
  83. EIGEN_TEST_CXX11: "on"
  84. tags:
  85. - eigen-runner
  86. - linux
  87. - x86-64
  88. # Clang-10
  89. build:x86-64:linux:clang-10:cxx11-off:
  90. extends: .build:linux:base
  91. variables:
  92. EIGEN_CI_CXX_COMPILER: "clang++-10"
  93. EIGEN_CI_CC_COMPILER: "clang-10"
  94. EIGEN_TEST_CXX11: "off"
  95. tags:
  96. - eigen-runner
  97. - linux
  98. - x86-64
  99. build:x86-64:linux:clang-10:cxx11-on:
  100. extends: .build:linux:base
  101. variables:
  102. EIGEN_CI_CXX_COMPILER: "clang++-10"
  103. EIGEN_CI_CC_COMPILER: "clang-10"
  104. EIGEN_TEST_CXX11: "on"
  105. tags:
  106. - eigen-runner
  107. - linux
  108. - x86-64
  109. ######## AArch64 ###############################################################
  110. # GCC-10
  111. build:aarch64:linux:gcc-10:cxx11-off:
  112. extends: .build:linux:base
  113. variables:
  114. EIGEN_CI_CXX_COMPILER: "g++-10"
  115. EIGEN_CI_CC_COMPILER: "gcc-10"
  116. EIGEN_TEST_CXX11: "off"
  117. tags:
  118. - eigen-runner
  119. - linux
  120. - aarch64
  121. build:aarch64:linux:gcc-10:cxx11-on:
  122. extends: .build:linux:base
  123. variables:
  124. EIGEN_CI_CXX_COMPILER: "g++-10"
  125. EIGEN_CI_CC_COMPILER: "gcc-10"
  126. EIGEN_TEST_CXX11: "on"
  127. tags:
  128. - eigen-runner
  129. - linux
  130. - aarch64
  131. # Clang-10
  132. build:aarch64:linux:clang-10:cxx11-off:
  133. extends: .build:linux:base
  134. variables:
  135. EIGEN_CI_CXX_COMPILER: "clang++-10"
  136. EIGEN_CI_CC_COMPILER: "clang-10"
  137. EIGEN_TEST_CXX11: "off"
  138. tags:
  139. - eigen-runner
  140. - linux
  141. - aarch64
  142. build:aarch64:linux:clang-10:cxx11-on:
  143. extends: .build:linux:base
  144. variables:
  145. EIGEN_CI_CXX_COMPILER: "clang++-10"
  146. EIGEN_CI_CC_COMPILER: "clang-10"
  147. EIGEN_TEST_CXX11: "on"
  148. tags:
  149. - eigen-runner
  150. - linux
  151. - aarch64
  152. ######## ppc64le ###############################################################
  153. # Currently all ppc64le jobs are allowed to fail
  154. # GCC-10
  155. build:ppc64le:linux:gcc-10:cxx11-off:
  156. allow_failure: true
  157. extends: .build:linux:base
  158. variables:
  159. EIGEN_CI_CXX_COMPILER: "g++-10"
  160. EIGEN_CI_CC_COMPILER: "gcc-10"
  161. EIGEN_TEST_CXX11: "off"
  162. tags:
  163. - eigen-runner
  164. - linux
  165. - ppc64le
  166. build:ppc64le:linux:gcc-10:cxx11-on:
  167. allow_failure: true
  168. extends: .build:linux:base
  169. variables:
  170. EIGEN_CI_CXX_COMPILER: "g++-10"
  171. EIGEN_CI_CC_COMPILER: "gcc-10"
  172. EIGEN_TEST_CXX11: "on"
  173. tags:
  174. - eigen-runner
  175. - linux
  176. - ppc64le
  177. # # Clang-10
  178. build:ppc64le:linux:clang-10:cxx11-off:
  179. allow_failure: true
  180. extends: .build:linux:base
  181. variables:
  182. EIGEN_CI_CXX_COMPILER: "clang++-10"
  183. EIGEN_CI_CC_COMPILER: "clang-10"
  184. EIGEN_TEST_CXX11: "off"
  185. tags:
  186. - eigen-runner
  187. - linux
  188. - ppc64le
  189. build:ppc64le:linux:clang-10:cxx11-on:
  190. allow_failure: true
  191. extends: .build:linux:base
  192. variables:
  193. EIGEN_CI_CXX_COMPILER: "clang++-10"
  194. EIGEN_CI_CC_COMPILER: "clang-10"
  195. EIGEN_TEST_CXX11: "on"
  196. tags:
  197. - eigen-runner
  198. - linux
  199. - ppc64le