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.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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. 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: [ push, tag, pull_request ]
  38. # Commented until db locking have been resolved!
  39. # test-sqlite:
  40. # image: webhippie/golang:edge
  41. # pull: true
  42. # group: test
  43. # environment:
  44. # TAGS: bindata
  45. # GOPATH: /srv/app
  46. # commands:
  47. # - make test-sqlite
  48. # when:
  49. # event: [ push, tag, pull_request ]
  50. test-mysql:
  51. image: webhippie/golang:edge
  52. pull: true
  53. group: test
  54. environment:
  55. TAGS: bindata
  56. GOPATH: /srv/app
  57. commands:
  58. - make test-mysql
  59. when:
  60. event: [ push, tag, pull_request ]
  61. test-pgsql:
  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-pgsql
  70. when:
  71. event: [ push, tag, pull_request ]
  72. # coverage:
  73. # image: plugins/coverage:latest
  74. # pull: true
  75. # secrets: [ github_token ]
  76. # server: https://coverage.gitea.io
  77. static:
  78. image: karalabe/xgo-latest:latest
  79. pull: true
  80. environment:
  81. TAGS: bindata sqlite
  82. GOPATH: /srv/app
  83. commands:
  84. - make release
  85. when:
  86. event: [ push, tag ]
  87. docker:
  88. image: plugins/docker:17.05
  89. pull: true
  90. secrets: [ docker_username, docker_password ]
  91. repo: gitea/gitea
  92. tags: [ '${DRONE_TAG##v}' ]
  93. when:
  94. event: [ tag ]
  95. branch: [ refs/tags/* ]
  96. docker:
  97. image: plugins/docker:17.05
  98. pull: true
  99. secrets: [ docker_username, docker_password ]
  100. repo: gitea/gitea
  101. tags: [ '${DRONE_BRANCH##release/v}' ]
  102. when:
  103. event: [ push ]
  104. branch: [ release/* ]
  105. docker:
  106. image: plugins/docker:17.05
  107. pull: true
  108. secrets: [ docker_username, docker_password ]
  109. repo: gitea/gitea
  110. tags: [ 'latest' ]
  111. when:
  112. event: [ push ]
  113. branch: [ master ]
  114. release:
  115. image: plugins/s3:1
  116. pull: true
  117. secrets: [ s3_access_key, s3_secret_key ]
  118. endpoint: https://storage.gitea.io
  119. path_style: true
  120. strip_prefix: dist/release/
  121. source: dist/release/*
  122. target: /gitea/${DRONE_TAG##v}
  123. when:
  124. event: [ tag ]
  125. branch: [ refs/tags/* ]
  126. release:
  127. image: plugins/s3:1
  128. pull: true
  129. secrets: [ s3_access_key, s3_secret_key ]
  130. endpoint: https://storage.gitea.io
  131. path_style: true
  132. strip_prefix: dist/release/
  133. source: dist/release/*
  134. target: /gitea/${DRONE_BRANCH##release/v}
  135. when:
  136. event: [ push ]
  137. branch: [ release/* ]
  138. release:
  139. image: plugins/s3:1
  140. pull: true
  141. secrets: [ s3_access_key, s3_secret_key ]
  142. endpoint: https://storage.gitea.io
  143. path_style: true
  144. strip_prefix: dist/release/
  145. source: dist/release/*
  146. target: /gitea/master
  147. when:
  148. event: [ push ]
  149. branch: [ master ]
  150. github:
  151. image: plugins/github-release:1
  152. pull: true
  153. files:
  154. - dist/release/*
  155. when:
  156. event: [ tag ]
  157. branch: [ refs/tags/* ]
  158. discord:
  159. image: appleboy/drone-discord:1.0.0
  160. pull: true
  161. secrets: [ discord_webhook_id, discord_webhook_token ]
  162. when:
  163. event: [ push, tag, pull_request ]
  164. status: [ changed, failure ]
  165. services:
  166. mysql:
  167. image: mysql:5.7
  168. environment:
  169. - MYSQL_DATABASE=test
  170. - MYSQL_ALLOW_EMPTY_PASSWORD=yes
  171. when:
  172. event: [ push, tag, pull_request ]
  173. pgsql:
  174. image: postgres:9.5
  175. environment:
  176. - POSTGRES_DB=test
  177. when:
  178. event: [ push, tag, pull_request ]