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 7.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  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. update-translations:
  22. image: alpine:3.6
  23. commands:
  24. - mv ./options/locale/locale_en-US.ini ./options/
  25. - sed -i -e 's/="/=/g' -e 's/"$$//g' ./options/locale/*.ini
  26. - sed -i -e 's/\\\\"/"/g' ./options/locale/*.ini
  27. - mv ./options/locale_en-US.ini ./options/locale/
  28. when:
  29. event: [ push ]
  30. branch: [ master ]
  31. git_push:
  32. image: appleboy/drone-git-push
  33. pull: true
  34. secrets: [ git_push_ssh_key ]
  35. remote: git@github.com:go-gitea/gitea.git
  36. force: false
  37. commit: true
  38. commit_message: "[skip ci] Updated translations via Crowdin"
  39. author_name: GiteaBot
  40. author_email: teabot@gitea.io
  41. when:
  42. event: [ push ]
  43. branch: [ master ]
  44. pre-build:
  45. image: webhippie/nodejs:latest
  46. pull: true
  47. commands:
  48. - npm install
  49. - make stylesheets-check
  50. when:
  51. event: [ push, tag, pull_request ]
  52. build-without-gcc:
  53. image: webhippie/golang:1.8
  54. pull: true
  55. environment:
  56. GOPATH: /srv/app
  57. commands:
  58. - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
  59. when:
  60. event: [ push, tag, pull_request ]
  61. build:
  62. image: webhippie/golang:edge
  63. pull: true
  64. environment:
  65. TAGS: bindata sqlite
  66. GOPATH: /srv/app
  67. commands:
  68. - make clean
  69. - make generate
  70. - make vet
  71. - make lint
  72. - make fmt-check
  73. - make swagger-check
  74. - make misspell-check
  75. - make test-vendor
  76. - make build
  77. when:
  78. event: [ push, tag, pull_request ]
  79. test:
  80. image: webhippie/golang:edge
  81. pull: true
  82. group: test
  83. environment:
  84. TAGS: bindata sqlite
  85. GOPATH: /srv/app
  86. commands:
  87. - make unit-test-coverage
  88. when:
  89. event: [ push, pull_request ]
  90. branch: [ master ]
  91. test:
  92. image: webhippie/golang:edge
  93. pull: true
  94. group: test
  95. environment:
  96. TAGS: bindata sqlite
  97. GOPATH: /srv/app
  98. commands:
  99. - make test
  100. when:
  101. event: [ push, pull_request ]
  102. branch: [ release/* ]
  103. test:
  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
  112. when:
  113. event: [ tag ]
  114. # Commented until db locking have been resolved!
  115. # test-sqlite:
  116. # image: webhippie/golang:edge
  117. # pull: true
  118. # group: test
  119. # environment:
  120. # TAGS: bindata
  121. # GOPATH: /srv/app
  122. # commands:
  123. # - make test-sqlite
  124. # when:
  125. # event: [ push, tag, pull_request ]
  126. test-mysql:
  127. image: webhippie/golang:edge
  128. pull: true
  129. group: test
  130. environment:
  131. TAGS: bindata
  132. GOPATH: /srv/app
  133. commands:
  134. - make integration-test-coverage
  135. when:
  136. event: [ push, pull_request ]
  137. branch: [ master ]
  138. test-mysql:
  139. image: webhippie/golang:edge
  140. pull: true
  141. group: test
  142. environment:
  143. TAGS: bindata
  144. GOPATH: /srv/app
  145. commands:
  146. - make test-mysql
  147. when:
  148. event: [ tag ]
  149. test-pgsql:
  150. image: webhippie/golang:edge
  151. pull: true
  152. group: test
  153. environment:
  154. TAGS: bindata
  155. GOPATH: /srv/app
  156. commands:
  157. - make test-pgsql
  158. when:
  159. event: [ push, tag, pull_request ]
  160. generate-coverage:
  161. image: webhippie/golang:edge
  162. pull: true
  163. environment:
  164. TAGS: bindata
  165. GOPATH: /srv/app
  166. commands:
  167. - make coverage
  168. when:
  169. event: [ push, pull_request ]
  170. branch: [ master ]
  171. coverage:
  172. image: robertstettner/drone-codecov
  173. secrets: [ codecov_token ]
  174. files:
  175. - coverage.all
  176. when:
  177. event: [ push, pull_request ]
  178. branch: [ master ]
  179. static:
  180. image: karalabe/xgo-latest:latest
  181. pull: true
  182. environment:
  183. TAGS: bindata sqlite
  184. GOPATH: /srv/app
  185. commands:
  186. - make release
  187. when:
  188. event: [ push, tag ]
  189. build_docs:
  190. image: webhippie/hugo:latest
  191. pull: true
  192. commands:
  193. - cd docs
  194. - make trans-copy
  195. - make clean
  196. - make build
  197. docker_docs:
  198. image: plugins/docker:17.05
  199. pull: true
  200. secrets: [ docker_username, docker_password ]
  201. repo: gitea/docs
  202. context: docs
  203. dockerfile: docs/Dockerfile
  204. tags: [ '${DRONE_BRANCH##release/v}' ]
  205. when:
  206. event: [ push ]
  207. branch: [ release/* ]
  208. docker_docs:
  209. image: plugins/docker:17.05
  210. pull: true
  211. secrets: [ docker_username, docker_password ]
  212. repo: gitea/docs
  213. context: docs
  214. dockerfile: docs/Dockerfile
  215. tags: [ 'latest' ]
  216. when:
  217. event: [ push ]
  218. branch: [ master ]
  219. docker:
  220. image: plugins/docker:17.12
  221. pull: true
  222. secrets: [ docker_username, docker_password ]
  223. repo: gitea/gitea
  224. tags: [ '${DRONE_BRANCH##release/v}' ]
  225. when:
  226. event: [ push ]
  227. branch: [ release/* ]
  228. docker:
  229. image: plugins/docker:17.12
  230. secrets: [ docker_username, docker_password ]
  231. pull: true
  232. repo: gitea/gitea
  233. default_tags: true
  234. when:
  235. event: [ push, tag ]
  236. release:
  237. image: plugins/s3:1
  238. pull: true
  239. secrets: [ aws_access_key_id, aws_secret_access_key ]
  240. bucket: releases
  241. endpoint: https://storage.gitea.io
  242. path_style: true
  243. strip_prefix: dist/release/
  244. source: dist/release/*
  245. target: /gitea/${DRONE_TAG##v}
  246. when:
  247. event: [ tag ]
  248. release:
  249. image: plugins/s3:1
  250. pull: true
  251. secrets: [ aws_access_key_id, aws_secret_access_key ]
  252. bucket: releases
  253. endpoint: https://storage.gitea.io
  254. path_style: true
  255. strip_prefix: dist/release/
  256. source: dist/release/*
  257. target: /gitea/${DRONE_BRANCH##release/v}
  258. when:
  259. event: [ push ]
  260. branch: [ release/* ]
  261. release:
  262. image: plugins/s3:1
  263. pull: true
  264. secrets: [ aws_access_key_id, aws_secret_access_key ]
  265. bucket: releases
  266. endpoint: https://storage.gitea.io
  267. path_style: true
  268. strip_prefix: dist/release/
  269. source: dist/release/*
  270. target: /gitea/master
  271. when:
  272. event: [ push ]
  273. branch: [ master ]
  274. github:
  275. image: plugins/github-release:1
  276. pull: true
  277. secrets: [ github_token ]
  278. files:
  279. - dist/release/*
  280. when:
  281. event: [ tag ]
  282. upload_translations:
  283. image: jonasfranz/crowdin
  284. pull: true
  285. secrets: [ crowdin_key ]
  286. project_identifier: gitea
  287. ignore_branch: true
  288. download: false
  289. files:
  290. locale_en-US.ini: options/locale/locale_en-US.ini
  291. when:
  292. event: [ push ]
  293. branch: [ master ]
  294. discord:
  295. image: appleboy/drone-discord:1.0.0
  296. pull: true
  297. secrets: [ discord_webhook_id, discord_webhook_token ]
  298. when:
  299. event: [ push, tag, pull_request ]
  300. status: [ changed, failure ]
  301. services:
  302. mysql:
  303. image: mysql:5.7
  304. environment:
  305. - MYSQL_DATABASE=test
  306. - MYSQL_ALLOW_EMPTY_PASSWORD=yes
  307. when:
  308. event: [ push, tag, pull_request ]
  309. pgsql:
  310. image: postgres:9.5
  311. environment:
  312. - POSTGRES_DB=test
  313. when:
  314. event: [ push, tag, pull_request ]