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

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