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.

.drone.yml 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. workspace:
  2. base: /srv/app
  3. path: src/code.gitea.io/gitea
  4. clone:
  5. git:
  6. image: plugins/git:latest
  7. depth: 50
  8. tags: true
  9. pipeline:
  10. build:
  11. image: webhippie/golang:edge
  12. pull: true
  13. environment:
  14. TAGS: bindata sqlite
  15. GOPATH: /srv/app
  16. commands:
  17. - make clean
  18. - make generate
  19. - make vet
  20. - make lint
  21. - make stylesheets-check
  22. - make misspell-check
  23. - make test-vendor
  24. - make build
  25. when:
  26. event: [ push, tag, pull_request ]
  27. test:
  28. image: webhippie/golang:edge
  29. pull: true
  30. group: test
  31. environment:
  32. TAGS: bindata sqlite
  33. GOPATH: /srv/app
  34. commands:
  35. - make test
  36. when:
  37. event: [ pull_request ]
  38. coverage:
  39. image: webhippie/golang:edge
  40. pull: true
  41. group: test
  42. environment:
  43. TAGS: bindata sqlite
  44. GOPATH: /srv/app
  45. commands:
  46. - make coverage
  47. when:
  48. event: [ push, tag ]
  49. branch: master
  50. test-sqlite:
  51. image: webhippie/golang:edge
  52. pull: true
  53. group: test
  54. environment:
  55. TAGS: bindata
  56. GOPATH: /srv/app
  57. commands:
  58. - echo "Needs to be fixed" # make test-sqlite
  59. when:
  60. event: [ push, tag, pull_request ]
  61. test-mysql:
  62. image: webhippie/golang:edge
  63. pull: true
  64. group: test
  65. environment:
  66. TAGS: bindata
  67. GOPATH: /srv/app
  68. commands:
  69. - make test-mysql
  70. when:
  71. event: [ push, tag, pull_request ]
  72. test-pgsql:
  73. image: webhippie/golang:edge
  74. pull: true
  75. group: test
  76. environment:
  77. TAGS: bindata
  78. GOPATH: /srv/app
  79. commands:
  80. - make test-pgsql
  81. when:
  82. event: [ push, tag, pull_request ]
  83. static:
  84. image: karalabe/xgo-latest:latest
  85. pull: true
  86. environment:
  87. TAGS: bindata sqlite
  88. GOPATH: /srv/app
  89. commands:
  90. - make release
  91. when:
  92. event: [ push, tag ]
  93. # coverage:
  94. # image: plugins/coverage:latest
  95. # pull: true
  96. # secrets: [ github_token ]
  97. # server: https://coverage.gitea.io
  98. docker:
  99. image: plugins/docker:latest
  100. pull: true
  101. secrets: [ docker_username, docker_password ]
  102. repo: gitea/gitea
  103. tags: [ '${DRONE_TAG##v}' ]
  104. when:
  105. event: [ tag ]
  106. branch: [ refs/tags/* ]
  107. docker:
  108. image: plugins/docker:latest
  109. pull: true
  110. secrets: [ docker_username, docker_password ]
  111. repo: gitea/gitea
  112. tags: [ '${DRONE_BRANCH##release/v}' ]
  113. when:
  114. event: [ push ]
  115. branch: [ release/* ]
  116. docker:
  117. image: plugins/docker:latest
  118. pull: true
  119. secrets: [ docker_username, docker_password ]
  120. repo: gitea/gitea
  121. tags: [ 'latest' ]
  122. when:
  123. event: [ push ]
  124. branch: [ master ]
  125. release:
  126. image: plugins/s3:latest
  127. pull: true
  128. secrets: [ s3_access_key, s3_secret_key ]
  129. endpoint: https://storage.gitea.io
  130. path_style: true
  131. strip_prefix: dist/release/
  132. source: dist/release/*
  133. target: /gitea/${DRONE_TAG##v}
  134. when:
  135. event: [ tag ]
  136. branch: [ refs/tags/* ]
  137. release:
  138. image: plugins/s3:latest
  139. pull: true
  140. secrets: [ s3_access_key, s3_secret_key ]
  141. endpoint: https://storage.gitea.io
  142. path_style: true
  143. strip_prefix: dist/release/
  144. source: dist/release/*
  145. target: /gitea/${DRONE_BRANCH##release/v}
  146. when:
  147. event: [ push ]
  148. branch: [ release/* ]
  149. release:
  150. image: plugins/s3:latest
  151. pull: true
  152. secrets: [ s3_access_key, s3_secret_key ]
  153. endpoint: https://storage.gitea.io
  154. path_style: true
  155. strip_prefix: dist/release/
  156. source: dist/release/*
  157. target: /gitea/master
  158. when:
  159. event: [ push ]
  160. branch: [ master ]
  161. github:
  162. image: plugins/github-release:latest
  163. pull: true
  164. files:
  165. - dist/release/*
  166. when:
  167. event: [ tag ]
  168. branch: [ refs/tags/* ]
  169. discord:
  170. image: appleboy/drone-discord:latest
  171. pull: true
  172. secrets: [ discord_webhook_id, discord_webhook_token ]
  173. when:
  174. event: [ push, tag, pull_request ]
  175. status: [ changed, failure ]
  176. services:
  177. mysql:
  178. image: mysql:5.7
  179. environment:
  180. - MYSQL_DATABASE=test
  181. - MYSQL_ALLOW_EMPTY_PASSWORD=yes
  182. when:
  183. event: [ push, tag, pull_request ]
  184. pgsql:
  185. image: postgres:9.5
  186. environment:
  187. - POSTGRES_DB=test
  188. when:
  189. event: [ push, tag, pull_request ]