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.

260 lines
4.6 KiB

  1. stages:
  2. - build
  3. - test
  4. - release
  5. build:linux:stable:
  6. image: scorpil/rust:stable
  7. stage: build
  8. script:
  9. - rustc -Vv
  10. - cargo -Vv
  11. - cargo build
  12. only:
  13. - master
  14. - develop
  15. tags:
  16. - docker
  17. artifacts:
  18. expire_in: 4 hours
  19. paths:
  20. - target/debug/
  21. allow_failure: false
  22. test:linux:stable:
  23. image: scorpil/rust:stable
  24. stage: test
  25. script:
  26. - rustc -Vv
  27. - cargo -Vv
  28. - cargo test
  29. only:
  30. - master
  31. - develop
  32. tags:
  33. - docker
  34. dependencies:
  35. - build:linux:stable
  36. allow_failure: false
  37. release:linux:stable:
  38. image: scorpil/rust:stable
  39. stage: release
  40. script:
  41. - rustc -Vv
  42. - cargo -Vv
  43. - cargo build --release
  44. artifacts:
  45. expire_in: 4 weeks
  46. paths:
  47. - target/release/*.so
  48. - target/release/pihash
  49. only:
  50. - master
  51. - develop
  52. tags:
  53. - docker
  54. allow_failure: false
  55. build:linux:beta:
  56. image: scorpil/rust:beta
  57. stage: build
  58. script:
  59. - rustc -Vv
  60. - cargo -Vv
  61. - cargo build
  62. only:
  63. - master
  64. - develop
  65. tags:
  66. - docker
  67. artifacts:
  68. expire_in: 4 hours
  69. paths:
  70. - target/debug/
  71. allow_failure: true
  72. test:linux:beta:
  73. image: scorpil/rust:beta
  74. stage: test
  75. script:
  76. - rustc -Vv
  77. - cargo -Vv
  78. - cargo test
  79. only:
  80. - master
  81. - develop
  82. tags:
  83. - docker
  84. dependencies:
  85. - build:linux:beta
  86. allow_failure: true
  87. build:linux:nightly:
  88. image: scorpil/rust:nightly
  89. stage: build
  90. script:
  91. - rustc -Vv
  92. - cargo -Vv
  93. - cargo build
  94. only:
  95. - develop
  96. tags:
  97. - docker
  98. artifacts:
  99. expire_in: 4 hours
  100. paths:
  101. - target/debug/
  102. allow_failure: true
  103. test:linux:nightly:
  104. image: scorpil/rust:nightly
  105. stage: test
  106. script:
  107. - rustc -Vv
  108. - cargo -Vv
  109. - cargo test
  110. only:
  111. - develop
  112. tags:
  113. - docker
  114. dependencies:
  115. - build:linux:nightly
  116. allow_failure: true
  117. release:linux:nightly:
  118. image: scorpil/rust:nightly
  119. stage: release
  120. script:
  121. - rustc -Vv
  122. - cargo -Vv
  123. - cargo build --release
  124. artifacts:
  125. expire_in: 1 week
  126. paths:
  127. - target/release/*.so
  128. - target/release/pihash
  129. only:
  130. - develop
  131. tags:
  132. - docker
  133. allow_failure: true
  134. build:windows:stable:
  135. stage: build
  136. variables:
  137. RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu
  138. script:
  139. - rustup update
  140. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  141. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  142. - rustup run %RUST_TOOLCHAIN% cargo build
  143. artifacts:
  144. expire_in: 4 hours
  145. paths:
  146. - target/debug/
  147. only:
  148. - master
  149. - develop
  150. tags:
  151. - rust
  152. - windows
  153. allow_failure: false
  154. test:windows:stable:
  155. stage: test
  156. variables:
  157. RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu
  158. script:
  159. - rustup update
  160. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  161. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  162. - rustup run %RUST_TOOLCHAIN% cargo test
  163. only:
  164. - master
  165. - develop
  166. tags:
  167. - rust
  168. - windows
  169. dependencies:
  170. - build:windows:stable
  171. allow_failure: false
  172. release:windows:stable:
  173. stage: release
  174. variables:
  175. RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu
  176. script:
  177. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  178. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  179. - rustup run %RUST_TOOLCHAIN% cargo build --release
  180. artifacts:
  181. expire_in: 4 weeks
  182. paths:
  183. - target/release/*.dll
  184. - target/release/pihash.exe
  185. only:
  186. - master
  187. - develop
  188. tags:
  189. - rust
  190. - windows
  191. allow_failure: false
  192. build:windows:nightly:
  193. stage: build
  194. variables:
  195. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  196. script:
  197. - rustup update
  198. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  199. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  200. - rustup run %RUST_TOOLCHAIN% cargo build
  201. artifacts:
  202. expire_in: 4 hours
  203. paths:
  204. - target/debug/
  205. only:
  206. - develop
  207. tags:
  208. - rust
  209. - windows
  210. allow_failure: true
  211. test:windows:nightly:
  212. stage: test
  213. variables:
  214. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  215. script:
  216. - rustup update
  217. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  218. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  219. - rustup run %RUST_TOOLCHAIN% cargo test
  220. only:
  221. - develop
  222. tags:
  223. - rust
  224. - windows
  225. dependencies:
  226. - build:windows:nightly
  227. allow_failure: true
  228. release:windows:nightly:
  229. stage: release
  230. variables:
  231. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  232. script:
  233. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  234. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  235. - rustup run %RUST_TOOLCHAIN% cargo build --release
  236. artifacts:
  237. expire_in: 1 week
  238. paths:
  239. - target/release/*.dll
  240. - target/release/pihash.exe
  241. only:
  242. - develop
  243. tags:
  244. - rust
  245. - windows
  246. allow_failure: false