You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

.drone.yml 5.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. workspace:
  2. base: /srv/app
  3. path: src/code.gitea.io/gitea
  4. clone:
  5. git:
  6. image: plugins/git:1
  7. depth: 50
  8. tags: true
  9. pipeline:
  10. pre-build:
  11. image: webhippie/nodejs:latest
  12. pull: true
  13. commands:
  14. - npm install
  15. - make stylesheets-check
  16. when:
  17. event: [ push, tag, pull_request ]
  18. build:
  19. image: webhippie/golang:edge
  20. pull: true
  21. environment:
  22. TAGS: bindata sqlite
  23. GOPATH: /srv/app
  24. commands:
  25. - make clean
  26. - make generate
  27. - make vet
  28. - make lint
  29. - make fmt-check
  30. - make misspell-check
  31. - make test-vendor
  32. - make build
  33. when:
  34. event: [ push, tag, pull_request ]
  35. test:
  36. image: webhippie/golang:edge
  37. pull: true
  38. group: test
  39. environment:
  40. TAGS: bindata sqlite
  41. GOPATH: /srv/app
  42. commands:
  43. - make unit-test-coverage
  44. when:
  45. event: [ push, pull_request ]
  46. branch: [ master ]
  47. test:
  48. image: webhippie/golang:edge
  49. pull: true
  50. group: test
  51. environment:
  52. TAGS: bindata
  53. GOPATH: /srv/app
  54. commands:
  55. - make test
  56. when:
  57. event: [ tag ]
  58. # Commented until db locking have been resolved!
  59. # test-sqlite:
  60. # image: webhippie/golang:edge
  61. # pull: true
  62. # group: test
  63. # environment:
  64. # TAGS: bindata
  65. # GOPATH: /srv/app
  66. # commands:
  67. # - make test-sqlite
  68. # when:
  69. # event: [ push, tag, pull_request ]
  70. test-mysql:
  71. image: webhippie/golang:edge
  72. pull: true
  73. group: test
  74. environment:
  75. TAGS: bindata
  76. GOPATH: /srv/app
  77. commands:
  78. - make integration-test-coverage
  79. when:
  80. event: [ push, pull_request ]
  81. branch: [ master ]
  82. test-mysql:
  83. image: webhippie/golang:edge
  84. pull: true
  85. group: test
  86. environment:
  87. TAGS: bindata
  88. GOPATH: /srv/app
  89. commands:
  90. - make test-mysql
  91. when:
  92. event: [ tag ]
  93. test-pgsql:
  94. image: webhippie/golang:edge
  95. pull: true
  96. group: test
  97. environment:
  98. TAGS: bindata
  99. GOPATH: /srv/app
  100. commands:
  101. - make test-pgsql
  102. when:
  103. event: [ push, tag, pull_request ]
  104. generate-coverage:
  105. image: webhippie/golang:edge
  106. pull: true
  107. environment:
  108. TAGS: bindata
  109. GOPATH: /srv/app
  110. commands:
  111. - make coverage
  112. when:
  113. event: [ push, pull_request ]
  114. branch: [ master ]
  115. coverage:
  116. image: robertstettner/drone-codecov
  117. secrets: [ codecov_token ]
  118. files:
  119. - coverage.all
  120. when:
  121. event: [ push, pull_request ]
  122. branch: [ master ]
  123. static:
  124. image: karalabe/xgo-latest:latest
  125. pull: true
  126. environment:
  127. TAGS: bindata sqlite
  128. GOPATH: /srv/app
  129. commands:
  130. - make release
  131. when:
  132. event: [ push, tag ]
  133. docker:
  134. image: plugins/docker:17.05
  135. pull: true
  136. secrets: [ docker_username, docker_password ]
  137. repo: gitea/gitea
  138. tags: [ '${DRONE_TAG##v}' ]
  139. when:
  140. event: [ tag ]
  141. docker:
  142. image: plugins/docker:17.05
  143. pull: true
  144. secrets: [ docker_username, docker_password ]
  145. repo: gitea/gitea
  146. tags: [ '${DRONE_BRANCH##release/v}' ]
  147. when:
  148. event: [ push ]
  149. branch: [ release/* ]
  150. docker:
  151. image: plugins/docker:17.05
  152. pull: true
  153. secrets: [ docker_username, docker_password ]
  154. repo: gitea/gitea
  155. tags: [ 'latest' ]
  156. when:
  157. event: [ push ]
  158. branch: [ master ]
  159. release:
  160. image: plugins/s3:1
  161. pull: true
  162. secrets: [ aws_access_key_id, aws_secret_access_key ]
  163. bucket: releases
  164. endpoint: https://storage.gitea.io
  165. path_style: true
  166. strip_prefix: dist/release/
  167. source: dist/release/*
  168. target: /gitea/${DRONE_TAG##v}
  169. when:
  170. event: [ tag ]
  171. release:
  172. image: plugins/s3:1
  173. pull: true
  174. secrets: [ aws_access_key_id, aws_secret_access_key ]
  175. bucket: releases
  176. endpoint: https://storage.gitea.io
  177. path_style: true
  178. strip_prefix: dist/release/
  179. source: dist/release/*
  180. target: /gitea/${DRONE_BRANCH##release/v}
  181. when:
  182. event: [ push ]
  183. branch: [ release/* ]
  184. release:
  185. image: plugins/s3:1
  186. pull: true
  187. secrets: [ aws_access_key_id, aws_secret_access_key ]
  188. bucket: releases
  189. endpoint: https://storage.gitea.io
  190. path_style: true
  191. strip_prefix: dist/release/
  192. source: dist/release/*
  193. target: /gitea/master
  194. when:
  195. event: [ push ]
  196. branch: [ master ]
  197. translations:
  198. image: jonasfranz/crowdin
  199. pull: true
  200. secrets: [ crowdin_key ]
  201. project_identifier: gitea
  202. ignore_branch: true
  203. files:
  204. locale_en-US.ini: options/locale/locale_en-US.ini
  205. when:
  206. event: [ push ]
  207. branch: [ master ]
  208. github:
  209. image: plugins/github-release:1
  210. pull: true
  211. secrets: [ github_token ]
  212. files:
  213. - dist/release/*
  214. when:
  215. event: [ tag ]
  216. discord:
  217. image: appleboy/drone-discord:1.0.0
  218. pull: true
  219. secrets: [ discord_webhook_id, discord_webhook_token ]
  220. when:
  221. event: [ push, tag, pull_request ]
  222. status: [ changed, failure ]
  223. services:
  224. mysql:
  225. image: mysql:5.7
  226. environment:
  227. - MYSQL_DATABASE=test
  228. - MYSQL_ALLOW_EMPTY_PASSWORD=yes
  229. when:
  230. event: [ push, tag, pull_request ]
  231. pgsql:
  232. image: postgres:9.5
  233. environment:
  234. - POSTGRES_DB=test
  235. when:
  236. event: [ push, tag, pull_request ]