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.

237 lines
4.2 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. test:windows:stable:
  135. stage: test
  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 test
  143. only:
  144. - master
  145. - develop
  146. tags:
  147. - rust
  148. - windows
  149. allow_failure: false
  150. release:windows:stable:
  151. stage: release
  152. variables:
  153. RUST_TOOLCHAIN: stable-x86_64-pc-windows-gnu
  154. script:
  155. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  156. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  157. - rustup run %RUST_TOOLCHAIN% cargo build --release
  158. artifacts:
  159. expire_in: 4 weeks
  160. paths:
  161. - target/release/*.dll
  162. - target/release/pihash.exe
  163. only:
  164. - master
  165. - develop
  166. tags:
  167. - rust
  168. - windows
  169. allow_failure: false
  170. build:windows:nightly:
  171. stage: build
  172. variables:
  173. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  174. script:
  175. - rustup update
  176. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  177. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  178. - rustup run %RUST_TOOLCHAIN% cargo build
  179. artifacts:
  180. expire_in: 4 hours
  181. paths:
  182. - target/debug/
  183. only:
  184. - develop
  185. tags:
  186. - rust
  187. - windows
  188. allow_failure: true
  189. test:windows:nightly:
  190. stage: test
  191. variables:
  192. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  193. script:
  194. - rustup update
  195. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  196. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  197. - rustup run %RUST_TOOLCHAIN% cargo test
  198. only:
  199. - develop
  200. tags:
  201. - rust
  202. - windows
  203. dependencies:
  204. - build:windows:nightly
  205. allow_failure: true
  206. release:windows:nightly:
  207. stage: release
  208. variables:
  209. RUST_TOOLCHAIN: nightly-x86_64-pc-windows-gnu
  210. script:
  211. - rustup run %RUST_TOOLCHAIN% rustc -Vv
  212. - rustup run %RUST_TOOLCHAIN% cargo -Vv
  213. - rustup run %RUST_TOOLCHAIN% cargo build --release
  214. artifacts:
  215. expire_in: 1 week
  216. paths:
  217. - target/release/*.dll
  218. - target/release/pihash.exe
  219. only:
  220. - develop
  221. tags:
  222. - rust
  223. - windows
  224. allow_failure: false