Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. workspace:
  2. base: /go
  3. path: src/code.gitea.io/gitea
  4. clone:
  5. git:
  6. image: plugins/git:next
  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.7
  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: golang:1.9
  54. pull: true
  55. commands:
  56. - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
  57. when:
  58. event: [ push, tag, pull_request ]
  59. build:
  60. image: golang:1.11
  61. pull: true
  62. environment:
  63. TAGS: bindata sqlite sqlite_unlock_notify
  64. commands:
  65. - make clean
  66. - make generate
  67. - make vet
  68. - make lint
  69. - make fmt-check
  70. - make swagger-check
  71. - make swagger-validate
  72. - make misspell-check
  73. - make test-vendor
  74. - make build
  75. when:
  76. event: [ push, tag, pull_request ]
  77. test:
  78. image: golang:1.11
  79. pull: true
  80. group: test
  81. environment:
  82. TAGS: bindata sqlite sqlite_unlock_notify
  83. commands:
  84. - make unit-test-coverage
  85. when:
  86. event: [ push, pull_request ]
  87. branch: [ master ]
  88. test:
  89. image: golang:1.11
  90. pull: true
  91. group: test
  92. environment:
  93. TAGS: bindata sqlite sqlite_unlock_notify
  94. commands:
  95. - make test
  96. when:
  97. event: [ push, pull_request ]
  98. branch: [ release/* ]
  99. test:
  100. image: golang:1.11
  101. pull: true
  102. group: test
  103. environment:
  104. TAGS: bindata
  105. commands:
  106. - make test
  107. when:
  108. event: [ tag ]
  109. # test-sqlite:
  110. # image: golang:1.11
  111. # pull: true
  112. # group: test
  113. # environment:
  114. # TAGS: bindata
  115. # commands:
  116. # - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
  117. # - apt-get install -y git-lfs
  118. # - make test-sqlite
  119. # when:
  120. # event: [ push, tag, pull_request ]
  121. test-mysql:
  122. image: golang:1.11
  123. pull: true
  124. group: test
  125. environment:
  126. TAGS: bindata
  127. TEST_LDAP: "1"
  128. commands:
  129. - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
  130. - apt-get install -y git-lfs
  131. - make integration-test-coverage
  132. when:
  133. event: [ push, pull_request ]
  134. branch: [ master ]
  135. test-mysql:
  136. image: golang:1.11
  137. pull: true
  138. group: test
  139. environment:
  140. TAGS: bindata
  141. TEST_LDAP: "1"
  142. commands:
  143. - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
  144. - apt-get install -y git-lfs
  145. - make test-mysql
  146. when:
  147. event: [ tag ]
  148. test-pgsql:
  149. image: golang:1.11
  150. pull: true
  151. group: test
  152. environment:
  153. TAGS: bindata
  154. TEST_LDAP: "1"
  155. commands:
  156. - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
  157. - apt-get install -y git-lfs
  158. - make test-pgsql
  159. when:
  160. event: [ push, tag, pull_request ]
  161. generate-coverage:
  162. image: golang:1.11
  163. pull: true
  164. environment:
  165. TAGS: bindata
  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 sqlite_unlock_notify
  184. commands:
  185. - export PATH=$PATH:$GOPATH/bin
  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. publish-docs:
  198. image: lucap/drone-netlify:latest
  199. pull: true
  200. secrets: [ netlify_token ]
  201. site_id: d2260bae-7861-4c02-8646-8f6440b12672
  202. path: docs/public/
  203. when:
  204. event: [ push ]
  205. branch: [ master ]
  206. docker:
  207. image: plugins/docker:17.12
  208. pull: true
  209. secrets: [ docker_username, docker_password ]
  210. repo: gitea/gitea
  211. tags: [ '${DRONE_BRANCH##release/v}' ]
  212. when:
  213. event: [ push ]
  214. branch: [ release/* ]
  215. docker:
  216. image: plugins/docker:17.12
  217. secrets: [ docker_username, docker_password ]
  218. pull: true
  219. repo: gitea/gitea
  220. default_tags: true
  221. when:
  222. event: [ push, tag ]
  223. gpg-sign:
  224. image: plugins/gpgsign:1
  225. pull: true
  226. secrets: [ gpgsign_key, gpgsign_passphrase ]
  227. detach_sign: true
  228. files:
  229. - dist/release/*
  230. excludes:
  231. - dist/release/*.sha256
  232. when:
  233. event: [ push, tag ]
  234. release:
  235. image: plugins/s3:1
  236. pull: true
  237. secrets: [ aws_access_key_id, aws_secret_access_key ]
  238. bucket: releases
  239. endpoint: https://storage.gitea.io
  240. path_style: true
  241. strip_prefix: dist/release/
  242. source: dist/release/*
  243. target: /gitea/${DRONE_TAG##v}
  244. when:
  245. event: [ tag ]
  246. release:
  247. image: plugins/s3:1
  248. pull: true
  249. secrets: [ aws_access_key_id, aws_secret_access_key ]
  250. bucket: releases
  251. endpoint: https://storage.gitea.io
  252. path_style: true
  253. strip_prefix: dist/release/
  254. source: dist/release/*
  255. target: /gitea/${DRONE_BRANCH##release/v}
  256. when:
  257. event: [ push ]
  258. branch: [ release/* ]
  259. release:
  260. image: plugins/s3:1
  261. pull: true
  262. secrets: [ aws_access_key_id, aws_secret_access_key ]
  263. bucket: releases
  264. endpoint: https://storage.gitea.io
  265. path_style: true
  266. strip_prefix: dist/release/
  267. source: dist/release/*
  268. target: /gitea/master
  269. when:
  270. event: [ push ]
  271. branch: [ master ]
  272. github:
  273. image: plugins/github-release:1
  274. pull: true
  275. secrets: [ github_token ]
  276. files:
  277. - dist/release/*
  278. when:
  279. event: [ tag ]
  280. upload_translations:
  281. image: jonasfranz/crowdin
  282. pull: true
  283. secrets: [ crowdin_key ]
  284. project_identifier: gitea
  285. ignore_branch: true
  286. download: false
  287. files:
  288. locale_en-US.ini: options/locale/locale_en-US.ini
  289. when:
  290. event: [ push ]
  291. branch: [ master ]
  292. discord:
  293. image: appleboy/drone-discord:1.0.0
  294. pull: true
  295. secrets: [ discord_webhook_id, discord_webhook_token ]
  296. when:
  297. event: [ push, tag, pull_request ]
  298. status: [ changed, failure ]
  299. services:
  300. mysql:
  301. image: mysql:5.7
  302. environment:
  303. - MYSQL_DATABASE=test
  304. - MYSQL_ALLOW_EMPTY_PASSWORD=yes
  305. when:
  306. event: [ push, tag, pull_request ]
  307. pgsql:
  308. image: postgres:9.5
  309. environment:
  310. - POSTGRES_DB=test
  311. when:
  312. event: [ push, tag, pull_request ]
  313. ldap:
  314. image: gitea/test-openldap:latest
  315. when:
  316. event: [ push, tag, pull_request ]