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.9 kB

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