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 36KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743
  1. ---
  2. kind: pipeline
  3. type: docker
  4. name: compliance
  5. platform:
  6. os: linux
  7. arch: amd64
  8. trigger:
  9. event:
  10. - push
  11. - tag
  12. - pull_request
  13. paths:
  14. exclude:
  15. - docs/**
  16. volumes:
  17. - name: deps
  18. temp: {}
  19. steps:
  20. - name: deps-frontend
  21. image: node:18
  22. pull: always
  23. commands:
  24. - make deps-frontend
  25. - name: deps-backend
  26. image: golang:1.20
  27. pull: always
  28. commands:
  29. - make deps-backend
  30. volumes:
  31. - name: deps
  32. path: /go
  33. - name: lint-frontend
  34. image: node:18
  35. commands:
  36. - make lint-frontend
  37. depends_on: [deps-frontend]
  38. - name: lint-backend
  39. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  40. pull: always
  41. commands:
  42. - make lint-backend
  43. environment:
  44. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  45. GOSUMDB: sum.golang.org
  46. TAGS: bindata sqlite sqlite_unlock_notify
  47. depends_on: [deps-backend]
  48. volumes:
  49. - name: deps
  50. path: /go
  51. - name: lint-backend-windows
  52. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  53. commands:
  54. - make golangci-lint-windows vet
  55. environment:
  56. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  57. GOSUMDB: sum.golang.org
  58. TAGS: bindata sqlite sqlite_unlock_notify
  59. GOOS: windows
  60. GOARCH: amd64
  61. depends_on: [deps-backend]
  62. volumes:
  63. - name: deps
  64. path: /go
  65. - name: lint-backend-gogit
  66. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  67. commands:
  68. - make lint-backend
  69. environment:
  70. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  71. GOSUMDB: sum.golang.org
  72. TAGS: bindata gogit sqlite sqlite_unlock_notify
  73. depends_on: [deps-backend]
  74. volumes:
  75. - name: deps
  76. path: /go
  77. - name: checks-frontend
  78. image: node:18
  79. commands:
  80. - make checks-frontend
  81. depends_on: [deps-frontend]
  82. - name: checks-backend
  83. image: golang:1.20
  84. commands:
  85. - make --always-make checks-backend # ensure the 'go-licenses' make target runs
  86. depends_on: [deps-backend]
  87. volumes:
  88. - name: deps
  89. path: /go
  90. - name: test-frontend
  91. image: node:18
  92. commands:
  93. - make test-frontend
  94. depends_on: [lint-frontend]
  95. - name: build-frontend
  96. image: node:18
  97. commands:
  98. - make frontend
  99. depends_on: [deps-frontend]
  100. - name: build-backend-no-gcc
  101. image: golang:1.19 # this step is kept as the lowest version of golang that we support
  102. pull: always
  103. environment:
  104. GOPROXY: https://goproxy.io
  105. commands:
  106. - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
  107. depends_on: [deps-backend, checks-backend]
  108. volumes:
  109. - name: deps
  110. path: /go
  111. - name: build-backend-arm64
  112. image: golang:1.20
  113. environment:
  114. GOPROXY: https://goproxy.io
  115. GOOS: linux
  116. GOARCH: arm64
  117. TAGS: bindata gogit
  118. commands:
  119. - make backend # test cross compile
  120. - rm ./gitea # clean
  121. depends_on: [deps-backend, checks-backend]
  122. volumes:
  123. - name: deps
  124. path: /go
  125. - name: build-backend-windows
  126. image: golang:1.20
  127. environment:
  128. GOPROXY: https://goproxy.io
  129. GOOS: windows
  130. GOARCH: amd64
  131. TAGS: bindata gogit
  132. commands:
  133. - go build -o gitea_windows
  134. depends_on: [deps-backend, checks-backend]
  135. volumes:
  136. - name: deps
  137. path: /go
  138. - name: build-backend-386
  139. image: golang:1.20
  140. environment:
  141. GOPROXY: https://goproxy.io
  142. GOOS: linux
  143. GOARCH: 386
  144. commands:
  145. - go build -o gitea_linux_386 # test if compatible with 32 bit
  146. depends_on: [deps-backend, checks-backend]
  147. volumes:
  148. - name: deps
  149. path: /go
  150. ---
  151. kind: pipeline
  152. type: docker
  153. name: testing-amd64
  154. platform:
  155. os: linux
  156. arch: amd64
  157. depends_on:
  158. - compliance
  159. trigger:
  160. event:
  161. - push
  162. - tag
  163. - pull_request
  164. paths:
  165. exclude:
  166. - docs/**
  167. volumes:
  168. - name: deps
  169. temp: {}
  170. services:
  171. - name: mysql
  172. image: mysql:5.7
  173. pull: always
  174. environment:
  175. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  176. MYSQL_DATABASE: test
  177. - name: mysql8
  178. image: mysql:8
  179. pull: always
  180. environment:
  181. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  182. MYSQL_DATABASE: testgitea
  183. - name: mssql
  184. image: mcr.microsoft.com/mssql/server:latest
  185. pull: always
  186. environment:
  187. ACCEPT_EULA: Y
  188. MSSQL_PID: Standard
  189. SA_PASSWORD: MwantsaSecurePassword1
  190. - name: ldap
  191. image: gitea/test-openldap:latest
  192. pull: always
  193. - name: elasticsearch
  194. image: elasticsearch:7.5.0
  195. pull: always
  196. environment:
  197. discovery.type: single-node
  198. - name: minio
  199. image: minio/minio:RELEASE.2021-03-12T00-00-47Z
  200. pull: always
  201. commands:
  202. - minio server /data
  203. environment:
  204. MINIO_ACCESS_KEY: 123456
  205. MINIO_SECRET_KEY: 12345678
  206. - name: smtpimap
  207. image: tabascoterrier/docker-imap-devel:latest
  208. pull: always
  209. steps:
  210. - name: fetch-tags
  211. image: docker:git
  212. pull: always
  213. commands:
  214. - git config --global --add safe.directory /drone/src
  215. - git fetch --tags --force
  216. when:
  217. event:
  218. exclude:
  219. - pull_request
  220. - name: deps-backend
  221. image: golang:1.20
  222. pull: always
  223. commands:
  224. - make deps-backend
  225. volumes:
  226. - name: deps
  227. path: /go
  228. - name: tag-pre-condition
  229. image: drone/git
  230. pull: always
  231. commands:
  232. - git update-ref refs/heads/tag_test ${DRONE_COMMIT_SHA}
  233. - name: prepare-test-env
  234. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  235. pull: always
  236. commands:
  237. - ./build/test-env-prepare.sh
  238. - name: build
  239. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  240. user: gitea
  241. commands:
  242. - ./build/test-env-check.sh
  243. - make backend
  244. environment:
  245. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  246. GOSUMDB: sum.golang.org
  247. TAGS: bindata sqlite sqlite_unlock_notify
  248. depends_on: [deps-backend, prepare-test-env]
  249. volumes:
  250. - name: deps
  251. path: /go
  252. - name: unit-test
  253. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  254. user: gitea
  255. commands:
  256. - make unit-test-coverage test-check
  257. environment:
  258. GOPROXY: https://goproxy.io
  259. TAGS: bindata sqlite sqlite_unlock_notify
  260. RACE_ENABLED: true
  261. GITHUB_READ_TOKEN:
  262. from_secret: github_read_token
  263. depends_on: [deps-backend, prepare-test-env]
  264. volumes:
  265. - name: deps
  266. path: /go
  267. - name: unit-test-gogit
  268. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  269. user: gitea
  270. commands:
  271. - make unit-test-coverage test-check
  272. environment:
  273. GOPROXY: https://goproxy.io
  274. TAGS: bindata gogit sqlite sqlite_unlock_notify
  275. RACE_ENABLED: true
  276. GITHUB_READ_TOKEN:
  277. from_secret: github_read_token
  278. depends_on: [deps-backend, prepare-test-env]
  279. volumes:
  280. - name: deps
  281. path: /go
  282. - name: test-mysql
  283. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  284. user: gitea
  285. commands:
  286. - make test-mysql-migration integration-test-coverage
  287. environment:
  288. GOPROXY: https://goproxy.io
  289. TAGS: bindata
  290. RACE_ENABLED: true
  291. TEST_LDAP: 1
  292. USE_REPO_TEST_DIR: 1
  293. TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
  294. depends_on: [build]
  295. volumes:
  296. - name: deps
  297. path: /go
  298. - name: test-mysql8
  299. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  300. user: gitea
  301. commands:
  302. - timeout -s ABRT 50m make test-mysql8-migration test-mysql8
  303. environment:
  304. GOPROXY: https://goproxy.io
  305. TAGS: bindata
  306. RACE_ENABLED: true
  307. TEST_LDAP: 1
  308. USE_REPO_TEST_DIR: 1
  309. depends_on: [build]
  310. volumes:
  311. - name: deps
  312. path: /go
  313. - name: test-mssql
  314. image: gitea/test_env:linux-1.19-amd64 # https://gitea.com/gitea/test-env
  315. user: gitea
  316. commands:
  317. - make test-mssql-migration test-mssql
  318. environment:
  319. GOPROXY: https://goproxy.io
  320. TAGS: bindata
  321. RACE_ENABLED: true
  322. TEST_LDAP: 1
  323. USE_REPO_TEST_DIR: 1
  324. depends_on: [build]
  325. volumes:
  326. - name: deps
  327. path: /go
  328. - name: generate-coverage
  329. image: golang:1.20
  330. commands:
  331. - make coverage
  332. environment:
  333. GOPROXY: https://goproxy.io
  334. TAGS: bindata
  335. depends_on: [unit-test, test-mysql]
  336. when:
  337. branch:
  338. - main
  339. event:
  340. - push
  341. - pull_request
  342. - name: coverage-codecov
  343. image: woodpeckerci/plugin-codecov:next-alpine
  344. pull: always
  345. settings:
  346. files:
  347. - coverage.all
  348. token:
  349. from_secret: codecov_token
  350. depends_on: [generate-coverage]
  351. when:
  352. branch:
  353. - main
  354. event:
  355. - push
  356. - pull_request
  357. ---
  358. kind: pipeline
  359. name: testing-arm64
  360. platform:
  361. os: linux
  362. arch: arm64
  363. depends_on:
  364. - compliance
  365. trigger:
  366. event:
  367. - push
  368. - tag
  369. - pull_request
  370. paths:
  371. exclude:
  372. - docs/**
  373. volumes:
  374. - name: deps
  375. temp: {}
  376. services:
  377. - name: pgsql
  378. pull: default
  379. image: postgres:10
  380. environment:
  381. POSTGRES_DB: test
  382. POSTGRES_PASSWORD: postgres
  383. - name: ldap
  384. pull: default
  385. image: gitea/test-openldap:latest
  386. steps:
  387. - name: fetch-tags
  388. image: docker:git
  389. pull: always
  390. commands:
  391. - git config --global --add safe.directory /drone/src
  392. - git fetch --tags --force
  393. when:
  394. event:
  395. exclude:
  396. - pull_request
  397. - name: deps-backend
  398. image: golang:1.20
  399. pull: always
  400. commands:
  401. - make deps-backend
  402. volumes:
  403. - name: deps
  404. path: /go
  405. - name: prepare-test-env
  406. image: gitea/test_env:linux-1.19-arm64 # https://gitea.com/gitea/test-env
  407. pull: always
  408. commands:
  409. - ./build/test-env-prepare.sh
  410. - name: build
  411. image: gitea/test_env:linux-1.19-arm64 # https://gitea.com/gitea/test-env
  412. user: gitea
  413. commands:
  414. - ./build/test-env-check.sh
  415. - make backend
  416. environment:
  417. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  418. GOSUMDB: sum.golang.org
  419. TAGS: bindata gogit sqlite sqlite_unlock_notify
  420. depends_on: [deps-backend, prepare-test-env]
  421. volumes:
  422. - name: deps
  423. path: /go
  424. - name: test-sqlite
  425. image: gitea/test_env:linux-1.19-arm64 # https://gitea.com/gitea/test-env
  426. user: gitea
  427. commands:
  428. - timeout -s ABRT 50m make test-sqlite-migration test-sqlite
  429. environment:
  430. GOPROXY: https://goproxy.io
  431. TAGS: bindata gogit sqlite sqlite_unlock_notify
  432. RACE_ENABLED: true
  433. TEST_TAGS: gogit sqlite sqlite_unlock_notify
  434. USE_REPO_TEST_DIR: 1
  435. depends_on: [build]
  436. volumes:
  437. - name: deps
  438. path: /go
  439. - name: test-pgsql
  440. image: gitea/test_env:linux-1.19-arm64 # https://gitea.com/gitea/test-env
  441. user: gitea
  442. commands:
  443. - timeout -s ABRT 50m make test-pgsql-migration test-pgsql
  444. environment:
  445. GOPROXY: https://goproxy.io
  446. TAGS: bindata gogit
  447. RACE_ENABLED: true
  448. TEST_TAGS: gogit
  449. TEST_LDAP: 1
  450. USE_REPO_TEST_DIR: 1
  451. depends_on: [build]
  452. volumes:
  453. - name: deps
  454. path: /go
  455. ---
  456. kind: pipeline
  457. type: docker
  458. name: testing-e2e
  459. platform:
  460. os: linux
  461. arch: amd64
  462. depends_on:
  463. - compliance
  464. trigger:
  465. event:
  466. - pull_request
  467. paths:
  468. exclude:
  469. - docs/**
  470. volumes:
  471. - name: deps
  472. temp: {}
  473. services:
  474. - name: pgsql
  475. pull: default
  476. image: postgres:10
  477. environment:
  478. POSTGRES_DB: testgitea-e2e
  479. POSTGRES_PASSWORD: postgres
  480. POSTGRES_INITDB_ARGS: --encoding=UTF8 --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8'
  481. steps:
  482. - name: deps-frontend
  483. image: node:18
  484. pull: always
  485. commands:
  486. - make deps-frontend
  487. - name: build-frontend
  488. image: node:18
  489. commands:
  490. - make frontend
  491. depends_on: [deps-frontend]
  492. - name: deps-backend
  493. image: golang:1.18
  494. pull: always
  495. commands:
  496. - make deps-backend
  497. volumes:
  498. - name: deps
  499. path: /go
  500. # TODO: We should probably build all dependencies into a test image
  501. - name: test-e2e
  502. image: mcr.microsoft.com/playwright:v1.29.2-focal
  503. commands:
  504. - curl -sLO https://go.dev/dl/go1.20.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz
  505. - groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea
  506. - apt-get -qq update && apt-get -qqy install build-essential
  507. - export TEST_PGSQL_SCHEMA=''
  508. - ./build/test-env-prepare.sh
  509. - su gitea bash -c "export PATH=$PATH:/usr/local/go/bin && timeout -s ABRT 40m make test-e2e-pgsql"
  510. environment:
  511. GOPROXY: https://goproxy.io
  512. GOSUMDB: sum.golang.org
  513. USE_REPO_TEST_DIR: 1
  514. TEST_PGSQL_DBNAME: 'testgitea-e2e'
  515. DEBIAN_FRONTEND: noninteractive
  516. depends_on: [build-frontend, deps-backend]
  517. volumes:
  518. - name: deps
  519. path: /go
  520. ---
  521. kind: pipeline
  522. name: update_translations
  523. platform:
  524. os: linux
  525. arch: arm64
  526. trigger:
  527. branch:
  528. - main
  529. event:
  530. - cron
  531. cron:
  532. - update_translations
  533. steps:
  534. - name: download
  535. image: jonasfranz/crowdin
  536. pull: always
  537. settings:
  538. download: true
  539. export_dir: options/locale/
  540. ignore_branch: true
  541. project_identifier: gitea
  542. environment:
  543. CROWDIN_KEY:
  544. from_secret: crowdin_key
  545. - name: update
  546. image: alpine:3.17
  547. pull: always
  548. commands:
  549. - ./build/update-locales.sh
  550. - name: push
  551. image: appleboy/drone-git-push
  552. pull: always
  553. settings:
  554. author_email: "teabot@gitea.io"
  555. author_name: GiteaBot
  556. branch: main
  557. commit: true
  558. commit_message: "[skip ci] Updated translations via Crowdin"
  559. remote: "git@github.com:go-gitea/gitea.git"
  560. environment:
  561. DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
  562. DRONE_COMMIT_AUTHOR: GiteaBot
  563. GIT_PUSH_SSH_KEY:
  564. from_secret: git_push_ssh_key
  565. - name: upload_translations
  566. image: jonasfranz/crowdin
  567. pull: always
  568. settings:
  569. files:
  570. locale_en-US.ini: options/locale/locale_en-US.ini
  571. ignore_branch: true
  572. project_identifier: gitea
  573. environment:
  574. CROWDIN_KEY:
  575. from_secret: crowdin_key
  576. ---
  577. kind: pipeline
  578. type: docker
  579. name: update_gitignore_and_licenses
  580. platform:
  581. os: linux
  582. arch: arm64
  583. trigger:
  584. branch:
  585. - main
  586. event:
  587. - cron
  588. cron:
  589. - update_gitignore_and_licenses
  590. steps:
  591. - name: download
  592. image: golang:1.20
  593. pull: always
  594. commands:
  595. - timeout -s ABRT 40m make generate-license generate-gitignore
  596. - name: push
  597. image: appleboy/drone-git-push
  598. pull: always
  599. settings:
  600. author_email: "teabot@gitea.io"
  601. author_name: "GiteaBot"
  602. branch: main
  603. commit: true
  604. commit_message: "[skip ci] Updated licenses and gitignores"
  605. remote: "git@github.com:go-gitea/gitea.git"
  606. environment:
  607. DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
  608. DRONE_COMMIT_AUTHOR: "GiteaBot"
  609. GIT_PUSH_SSH_KEY:
  610. from_secret: git_push_ssh_key
  611. ---
  612. kind: pipeline
  613. type: docker
  614. name: release-latest
  615. platform:
  616. os: linux
  617. arch: amd64
  618. workspace:
  619. base: /source
  620. path: /
  621. trigger:
  622. branch:
  623. - main
  624. - "release/*"
  625. event:
  626. - push
  627. paths:
  628. exclude:
  629. - docs/**
  630. depends_on:
  631. - testing-amd64
  632. - testing-arm64
  633. volumes:
  634. - name: deps
  635. temp: {}
  636. steps:
  637. - name: fetch-tags
  638. image: docker:git
  639. pull: always
  640. commands:
  641. - git config --global --add safe.directory /drone/src
  642. - git fetch --tags --force
  643. - name: deps-frontend
  644. image: node:18
  645. pull: always
  646. commands:
  647. - make deps-frontend
  648. - name: deps-backend
  649. image: golang:1.20
  650. pull: always
  651. commands:
  652. - make deps-backend
  653. volumes:
  654. - name: deps
  655. path: /go
  656. - name: static
  657. image: techknowlogick/xgo:go-1.20.x
  658. pull: always
  659. commands:
  660. # Upgrade to node 18 once https://github.com/techknowlogick/xgo/issues/163 is resolved
  661. - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get -qqy install nodejs
  662. - export PATH=$PATH:$GOPATH/bin
  663. - make release
  664. environment:
  665. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  666. TAGS: bindata sqlite sqlite_unlock_notify
  667. DEBIAN_FRONTEND: noninteractive
  668. volumes:
  669. - name: deps
  670. path: /go
  671. - name: gpg-sign
  672. image: plugins/gpgsign:1
  673. pull: always
  674. settings:
  675. detach_sign: true
  676. excludes:
  677. - "dist/release/*.sha256"
  678. files:
  679. - "dist/release/*"
  680. environment:
  681. GPGSIGN_KEY:
  682. from_secret: gpgsign_key
  683. GPGSIGN_PASSPHRASE:
  684. from_secret: gpgsign_passphrase
  685. - name: release-branch
  686. image: woodpeckerci/plugin-s3:latest
  687. pull: always
  688. settings:
  689. acl:
  690. from_secret: aws_s3_acl
  691. region:
  692. from_secret: aws_s3_region
  693. bucket:
  694. from_secret: aws_s3_bucket
  695. endpoint:
  696. from_secret: aws_s3_endpoint
  697. path_style:
  698. from_secret: aws_s3_path_style
  699. source: "dist/release/*"
  700. strip_prefix: dist/release/
  701. target: "/gitea/${DRONE_BRANCH##release/v}"
  702. environment:
  703. AWS_ACCESS_KEY_ID:
  704. from_secret: aws_access_key_id
  705. AWS_SECRET_ACCESS_KEY:
  706. from_secret: aws_secret_access_key
  707. when:
  708. branch:
  709. - "release/*"
  710. event:
  711. - push
  712. - name: release-main
  713. image: woodpeckerci/plugin-s3:latest
  714. settings:
  715. acl:
  716. from_secret: aws_s3_acl
  717. region:
  718. from_secret: aws_s3_region
  719. bucket:
  720. from_secret: aws_s3_bucket
  721. endpoint:
  722. from_secret: aws_s3_endpoint
  723. path_style:
  724. from_secret: aws_s3_path_style
  725. source: "dist/release/*"
  726. strip_prefix: dist/release/
  727. target: /gitea/main
  728. environment:
  729. AWS_ACCESS_KEY_ID:
  730. from_secret: aws_access_key_id
  731. AWS_SECRET_ACCESS_KEY:
  732. from_secret: aws_secret_access_key
  733. when:
  734. branch:
  735. - main
  736. event:
  737. - push
  738. ---
  739. kind: pipeline
  740. name: release-version
  741. platform:
  742. os: linux
  743. arch: amd64
  744. workspace:
  745. base: /source
  746. path: /
  747. trigger:
  748. event:
  749. - tag
  750. depends_on:
  751. - testing-arm64
  752. - testing-amd64
  753. volumes:
  754. - name: deps
  755. temp: {}
  756. steps:
  757. - name: fetch-tags
  758. image: docker:git
  759. pull: always
  760. commands:
  761. - git config --global --add safe.directory /drone/src
  762. - git fetch --tags --force
  763. - name: deps-frontend
  764. image: node:18
  765. pull: always
  766. commands:
  767. - make deps-frontend
  768. - name: deps-backend
  769. image: golang:1.20
  770. pull: always
  771. commands:
  772. - make deps-backend
  773. volumes:
  774. - name: deps
  775. path: /go
  776. - name: static
  777. image: techknowlogick/xgo:go-1.20.x
  778. pull: always
  779. commands:
  780. # Upgrade to node 18 once https://github.com/techknowlogick/xgo/issues/163 is resolved
  781. - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get -qqy install nodejs
  782. - export PATH=$PATH:$GOPATH/bin
  783. - make release
  784. environment:
  785. GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not
  786. TAGS: bindata sqlite sqlite_unlock_notify
  787. DEBIAN_FRONTEND: noninteractive
  788. depends_on: [fetch-tags]
  789. volumes:
  790. - name: deps
  791. path: /go
  792. - name: gpg-sign
  793. image: plugins/gpgsign:1
  794. pull: always
  795. settings:
  796. detach_sign: true
  797. excludes:
  798. - "dist/release/*.sha256"
  799. files:
  800. - "dist/release/*"
  801. environment:
  802. GPGSIGN_KEY:
  803. from_secret: gpgsign_key
  804. GPGSIGN_PASSPHRASE:
  805. from_secret: gpgsign_passphrase
  806. depends_on: [static]
  807. - name: release-tag
  808. image: woodpeckerci/plugin-s3:latest
  809. pull: always
  810. settings:
  811. acl:
  812. from_secret: aws_s3_acl
  813. region:
  814. from_secret: aws_s3_region
  815. bucket:
  816. from_secret: aws_s3_bucket
  817. endpoint:
  818. from_secret: aws_s3_endpoint
  819. path_style:
  820. from_secret: aws_s3_path_style
  821. source: "dist/release/*"
  822. strip_prefix: dist/release/
  823. target: "/gitea/${DRONE_TAG##v}"
  824. environment:
  825. AWS_ACCESS_KEY_ID:
  826. from_secret: aws_access_key_id
  827. AWS_SECRET_ACCESS_KEY:
  828. from_secret: aws_secret_access_key
  829. depends_on: [gpg-sign]
  830. - name: github
  831. image: plugins/github-release:latest
  832. pull: always
  833. settings:
  834. files:
  835. - "dist/release/*"
  836. file_exists: overwrite
  837. environment:
  838. GITHUB_TOKEN:
  839. from_secret: github_token
  840. depends_on: [gpg-sign]
  841. ---
  842. kind: pipeline
  843. type: docker
  844. name: docs
  845. platform:
  846. os: linux
  847. arch: arm64
  848. depends_on:
  849. - compliance
  850. trigger:
  851. event:
  852. - push
  853. - tag
  854. - pull_request
  855. paths:
  856. include:
  857. - docs/**
  858. steps:
  859. - name: build-docs
  860. image: golang:1.20
  861. commands:
  862. - cd docs
  863. - make trans-copy clean build
  864. - name: publish-docs
  865. image: techknowlogick/drone-netlify:latest
  866. pull: always
  867. settings:
  868. path: docs/public/
  869. site_id: d2260bae-7861-4c02-8646-8f6440b12672
  870. environment:
  871. NETLIFY_TOKEN:
  872. from_secret: netlify_token
  873. when:
  874. branch:
  875. - main
  876. event:
  877. - push
  878. ---
  879. kind: pipeline
  880. type: docker
  881. name: docker-linux-amd64-release-version
  882. platform:
  883. os: linux
  884. arch: amd64
  885. depends_on:
  886. - testing-amd64
  887. - testing-arm64
  888. trigger:
  889. ref:
  890. include:
  891. - "refs/tags/**"
  892. exclude:
  893. - "refs/tags/**-rc*"
  894. event:
  895. exclude:
  896. - cron
  897. steps:
  898. - name: fetch-tags
  899. image: docker:git
  900. pull: always
  901. commands:
  902. - git config --global --add safe.directory /drone/src
  903. - git fetch --tags --force
  904. - name: publish
  905. image: plugins/docker:latest
  906. pull: always
  907. settings:
  908. auto_tag: true
  909. auto_tag_suffix: linux-amd64
  910. repo: gitea/gitea
  911. build_args:
  912. - GOPROXY=https://goproxy.io
  913. password:
  914. from_secret: docker_password
  915. username:
  916. from_secret: docker_username
  917. environment:
  918. PLUGIN_MIRROR:
  919. from_secret: plugin_mirror
  920. DOCKER_BUILDKIT: 1
  921. when:
  922. event:
  923. exclude:
  924. - pull_request
  925. - name: publish-rootless
  926. image: plugins/docker:latest
  927. settings:
  928. dockerfile: Dockerfile.rootless
  929. auto_tag: true
  930. auto_tag_suffix: linux-amd64-rootless
  931. repo: gitea/gitea
  932. build_args:
  933. - GOPROXY=https://goproxy.io
  934. password:
  935. from_secret: docker_password
  936. username:
  937. from_secret: docker_username
  938. environment:
  939. PLUGIN_MIRROR:
  940. from_secret: plugin_mirror
  941. DOCKER_BUILDKIT: 1
  942. when:
  943. event:
  944. exclude:
  945. - pull_request
  946. ---
  947. kind: pipeline
  948. type: docker
  949. name: docker-linux-amd64-release-candidate-version
  950. platform:
  951. os: linux
  952. arch: amd64
  953. depends_on:
  954. - testing-amd64
  955. - testing-arm64
  956. trigger:
  957. ref:
  958. - "refs/tags/**-rc*"
  959. event:
  960. exclude:
  961. - cron
  962. steps:
  963. - name: fetch-tags
  964. image: docker:git
  965. pull: always
  966. commands:
  967. - git config --global --add safe.directory /drone/src
  968. - git fetch --tags --force
  969. - name: publish
  970. image: plugins/docker:latest
  971. pull: always
  972. settings:
  973. tags: ${DRONE_TAG##v}-linux-amd64
  974. repo: gitea/gitea
  975. build_args:
  976. - GOPROXY=https://goproxy.io
  977. password:
  978. from_secret: docker_password
  979. username:
  980. from_secret: docker_username
  981. environment:
  982. PLUGIN_MIRROR:
  983. from_secret: plugin_mirror
  984. DOCKER_BUILDKIT: 1
  985. when:
  986. event:
  987. exclude:
  988. - pull_request
  989. - name: publish-rootless
  990. image: plugins/docker:latest
  991. settings:
  992. dockerfile: Dockerfile.rootless
  993. tags: ${DRONE_TAG##v}-linux-amd64-rootless
  994. repo: gitea/gitea
  995. build_args:
  996. - GOPROXY=https://goproxy.io
  997. password:
  998. from_secret: docker_password
  999. username:
  1000. from_secret: docker_username
  1001. environment:
  1002. PLUGIN_MIRROR:
  1003. from_secret: plugin_mirror
  1004. DOCKER_BUILDKIT: 1
  1005. when:
  1006. event:
  1007. exclude:
  1008. - pull_request
  1009. ---
  1010. kind: pipeline
  1011. type: docker
  1012. name: docker-linux-amd64-release
  1013. platform:
  1014. os: linux
  1015. arch: amd64
  1016. depends_on:
  1017. - testing-amd64
  1018. - testing-arm64
  1019. trigger:
  1020. ref:
  1021. - refs/heads/main
  1022. event:
  1023. exclude:
  1024. - cron
  1025. steps:
  1026. - name: fetch-tags
  1027. image: docker:git
  1028. pull: always
  1029. commands:
  1030. - git config --global --add safe.directory /drone/src
  1031. - git fetch --tags --force
  1032. - name: publish
  1033. image: plugins/docker:latest
  1034. pull: always
  1035. settings:
  1036. auto_tag: false
  1037. tags: dev-linux-amd64
  1038. repo: gitea/gitea
  1039. build_args:
  1040. - GOPROXY=https://goproxy.io
  1041. password:
  1042. from_secret: docker_password
  1043. username:
  1044. from_secret: docker_username
  1045. environment:
  1046. PLUGIN_MIRROR:
  1047. from_secret: plugin_mirror
  1048. DOCKER_BUILDKIT: 1
  1049. when:
  1050. event:
  1051. exclude:
  1052. - pull_request
  1053. - name: publish-rootless
  1054. image: plugins/docker:latest
  1055. settings:
  1056. dockerfile: Dockerfile.rootless
  1057. auto_tag: false
  1058. tags: dev-linux-amd64-rootless
  1059. repo: gitea/gitea
  1060. build_args:
  1061. - GOPROXY=https://goproxy.io
  1062. password:
  1063. from_secret: docker_password
  1064. username:
  1065. from_secret: docker_username
  1066. environment:
  1067. PLUGIN_MIRROR:
  1068. from_secret: plugin_mirror
  1069. DOCKER_BUILDKIT: 1
  1070. when:
  1071. event:
  1072. exclude:
  1073. - pull_request
  1074. ---
  1075. kind: pipeline
  1076. name: docker-linux-amd64-release-branch
  1077. platform:
  1078. os: linux
  1079. arch: amd64
  1080. depends_on:
  1081. - testing-amd64
  1082. - testing-arm64
  1083. trigger:
  1084. ref:
  1085. - "refs/heads/release/v*"
  1086. event:
  1087. exclude:
  1088. - cron
  1089. steps:
  1090. - name: fetch-tags
  1091. image: docker:git
  1092. pull: always
  1093. commands:
  1094. - git config --global --add safe.directory /drone/src
  1095. - git fetch --tags --force
  1096. - name: publish
  1097. image: plugins/docker:latest
  1098. pull: always
  1099. settings:
  1100. auto_tag: false
  1101. tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64
  1102. repo: gitea/gitea
  1103. build_args:
  1104. - GOPROXY=https://goproxy.io
  1105. password:
  1106. from_secret: docker_password
  1107. username:
  1108. from_secret: docker_username
  1109. environment:
  1110. PLUGIN_MIRROR:
  1111. from_secret: plugin_mirror
  1112. DOCKER_BUILDKIT: 1
  1113. when:
  1114. event:
  1115. exclude:
  1116. - pull_request
  1117. - name: publish-rootless
  1118. image: plugins/docker:latest
  1119. settings:
  1120. dockerfile: Dockerfile.rootless
  1121. auto_tag: false
  1122. tags: ${DRONE_BRANCH##release/v}-dev-linux-amd64-rootless
  1123. repo: gitea/gitea
  1124. build_args:
  1125. - GOPROXY=https://goproxy.io
  1126. password:
  1127. from_secret: docker_password
  1128. username:
  1129. from_secret: docker_username
  1130. environment:
  1131. PLUGIN_MIRROR:
  1132. from_secret: plugin_mirror
  1133. DOCKER_BUILDKIT: 1
  1134. when:
  1135. event:
  1136. exclude:
  1137. - pull_request
  1138. ---
  1139. kind: pipeline
  1140. type: docker
  1141. name: docker-linux-amd64-dry-run
  1142. platform:
  1143. os: linux
  1144. arch: arm64
  1145. depends_on:
  1146. - compliance
  1147. trigger:
  1148. ref:
  1149. - "refs/pull/**"
  1150. paths:
  1151. exclude:
  1152. - docs/**
  1153. steps:
  1154. - name: dryrun
  1155. image: plugins/docker:latest
  1156. pull: always
  1157. settings:
  1158. dry_run: true
  1159. repo: gitea/gitea
  1160. tags: linux-arm64
  1161. build_args:
  1162. - GOPROXY=https://goproxy.io
  1163. environment:
  1164. PLUGIN_MIRROR:
  1165. from_secret: plugin_mirror
  1166. DOCKER_BUILDKIT: 1
  1167. when:
  1168. event:
  1169. - pull_request
  1170. ---
  1171. kind: pipeline
  1172. type: docker
  1173. name: docker-linux-arm64-release-version
  1174. platform:
  1175. os: linux
  1176. arch: arm64
  1177. depends_on:
  1178. - testing-amd64
  1179. - testing-arm64
  1180. trigger:
  1181. ref:
  1182. include:
  1183. - "refs/tags/**"
  1184. exclude:
  1185. - "refs/tags/**-rc*"
  1186. event:
  1187. exclude:
  1188. - cron
  1189. steps:
  1190. - name: fetch-tags
  1191. image: docker:git
  1192. pull: always
  1193. commands:
  1194. - git config --global --add safe.directory /drone/src
  1195. - git fetch --tags --force
  1196. - name: publish
  1197. image: plugins/docker:latest
  1198. pull: always
  1199. settings:
  1200. auto_tag: true
  1201. auto_tag_suffix: linux-arm64
  1202. repo: gitea/gitea
  1203. build_args:
  1204. - GOPROXY=https://goproxy.io
  1205. password:
  1206. from_secret: docker_password
  1207. username:
  1208. from_secret: docker_username
  1209. environment:
  1210. PLUGIN_MIRROR:
  1211. from_secret: plugin_mirror
  1212. DOCKER_BUILDKIT: 1
  1213. when:
  1214. event:
  1215. exclude:
  1216. - pull_request
  1217. - name: publish-rootless
  1218. image: plugins/docker:latest
  1219. settings:
  1220. dockerfile: Dockerfile.rootless
  1221. auto_tag: true
  1222. auto_tag_suffix: linux-arm64-rootless
  1223. repo: gitea/gitea
  1224. build_args:
  1225. - GOPROXY=https://goproxy.io
  1226. password:
  1227. from_secret: docker_password
  1228. username:
  1229. from_secret: docker_username
  1230. environment:
  1231. PLUGIN_MIRROR:
  1232. from_secret: plugin_mirror
  1233. DOCKER_BUILDKIT: 1
  1234. when:
  1235. event:
  1236. exclude:
  1237. - pull_request
  1238. ---
  1239. kind: pipeline
  1240. type: docker
  1241. name: docker-linux-arm64-release-candidate-version
  1242. platform:
  1243. os: linux
  1244. arch: arm64
  1245. depends_on:
  1246. - testing-amd64
  1247. - testing-arm64
  1248. trigger:
  1249. ref:
  1250. - "refs/tags/**-rc*"
  1251. event:
  1252. exclude:
  1253. - cron
  1254. steps:
  1255. - name: fetch-tags
  1256. image: docker:git
  1257. pull: always
  1258. commands:
  1259. - git config --global --add safe.directory /drone/src
  1260. - git fetch --tags --force
  1261. - name: publish
  1262. image: plugins/docker:latest
  1263. pull: always
  1264. settings:
  1265. tags: ${DRONE_TAG##v}-linux-arm64
  1266. repo: gitea/gitea
  1267. build_args:
  1268. - GOPROXY=https://goproxy.io
  1269. password:
  1270. from_secret: docker_password
  1271. username:
  1272. from_secret: docker_username
  1273. environment:
  1274. PLUGIN_MIRROR:
  1275. from_secret: plugin_mirror
  1276. DOCKER_BUILDKIT: 1
  1277. when:
  1278. event:
  1279. exclude:
  1280. - pull_request
  1281. - name: publish-rootless
  1282. image: plugins/docker:latest
  1283. settings:
  1284. dockerfile: Dockerfile.rootless
  1285. tags: ${DRONE_TAG##v}-linux-arm64-rootless
  1286. repo: gitea/gitea
  1287. build_args:
  1288. - GOPROXY=https://goproxy.io
  1289. password:
  1290. from_secret: docker_password
  1291. username:
  1292. from_secret: docker_username
  1293. environment:
  1294. PLUGIN_MIRROR:
  1295. from_secret: plugin_mirror
  1296. DOCKER_BUILDKIT: 1
  1297. when:
  1298. event:
  1299. exclude:
  1300. - pull_request
  1301. ---
  1302. kind: pipeline
  1303. type: docker
  1304. name: docker-linux-arm64-release
  1305. platform:
  1306. os: linux
  1307. arch: arm64
  1308. depends_on:
  1309. - testing-amd64
  1310. - testing-arm64
  1311. trigger:
  1312. ref:
  1313. - refs/heads/main
  1314. event:
  1315. exclude:
  1316. - cron
  1317. steps:
  1318. - name: fetch-tags
  1319. image: docker:git
  1320. pull: always
  1321. commands:
  1322. - git config --global --add safe.directory /drone/src
  1323. - git fetch --tags --force
  1324. - name: publish
  1325. image: plugins/docker:latest
  1326. pull: always
  1327. settings:
  1328. auto_tag: false
  1329. tags: dev-linux-arm64
  1330. repo: gitea/gitea
  1331. build_args:
  1332. - GOPROXY=https://goproxy.io
  1333. password:
  1334. from_secret: docker_password
  1335. username:
  1336. from_secret: docker_username
  1337. environment:
  1338. PLUGIN_MIRROR:
  1339. from_secret: plugin_mirror
  1340. DOCKER_BUILDKIT: 1
  1341. when:
  1342. event:
  1343. exclude:
  1344. - pull_request
  1345. - name: publish-rootless
  1346. image: plugins/docker:latest
  1347. settings:
  1348. dockerfile: Dockerfile.rootless
  1349. auto_tag: false
  1350. tags: dev-linux-arm64-rootless
  1351. repo: gitea/gitea
  1352. build_args:
  1353. - GOPROXY=https://goproxy.io
  1354. password:
  1355. from_secret: docker_password
  1356. username:
  1357. from_secret: docker_username
  1358. environment:
  1359. PLUGIN_MIRROR:
  1360. from_secret: plugin_mirror
  1361. DOCKER_BUILDKIT: 1
  1362. when:
  1363. event:
  1364. exclude:
  1365. - pull_request
  1366. ---
  1367. kind: pipeline
  1368. name: docker-linux-arm64-release-branch
  1369. platform:
  1370. os: linux
  1371. arch: arm64
  1372. depends_on:
  1373. - testing-amd64
  1374. - testing-arm64
  1375. trigger:
  1376. ref:
  1377. - "refs/heads/release/v*"
  1378. event:
  1379. exclude:
  1380. - cron
  1381. steps:
  1382. - name: fetch-tags
  1383. image: docker:git
  1384. pull: always
  1385. commands:
  1386. - git config --global --add safe.directory /drone/src
  1387. - git fetch --tags --force
  1388. - name: publish
  1389. image: plugins/docker:latest
  1390. pull: always
  1391. settings:
  1392. auto_tag: false
  1393. tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64
  1394. repo: gitea/gitea
  1395. build_args:
  1396. - GOPROXY=https://goproxy.io
  1397. password:
  1398. from_secret: docker_password
  1399. username:
  1400. from_secret: docker_username
  1401. environment:
  1402. PLUGIN_MIRROR:
  1403. from_secret: plugin_mirror
  1404. DOCKER_BUILDKIT: 1
  1405. when:
  1406. event:
  1407. exclude:
  1408. - pull_request
  1409. - name: publish-rootless
  1410. image: plugins/docker:latest
  1411. settings:
  1412. dockerfile: Dockerfile.rootless
  1413. auto_tag: false
  1414. tags: ${DRONE_BRANCH##release/v}-dev-linux-arm64-rootless
  1415. repo: gitea/gitea
  1416. build_args:
  1417. - GOPROXY=https://goproxy.io
  1418. password:
  1419. from_secret: docker_password
  1420. username:
  1421. from_secret: docker_username
  1422. environment:
  1423. PLUGIN_MIRROR:
  1424. from_secret: plugin_mirror
  1425. DOCKER_BUILDKIT: 1
  1426. when:
  1427. event:
  1428. exclude:
  1429. - pull_request
  1430. ---
  1431. kind: pipeline
  1432. type: docker
  1433. name: docker-manifest-version
  1434. platform:
  1435. os: linux
  1436. arch: amd64
  1437. steps:
  1438. - name: manifest-rootless
  1439. image: plugins/manifest
  1440. pull: always
  1441. settings:
  1442. auto_tag: true
  1443. ignore_missing: true
  1444. spec: docker/manifest.rootless.tmpl
  1445. password:
  1446. from_secret: docker_password
  1447. username:
  1448. from_secret: docker_username
  1449. - name: manifest
  1450. image: plugins/manifest
  1451. settings:
  1452. auto_tag: true
  1453. ignore_missing: true
  1454. spec: docker/manifest.tmpl
  1455. password:
  1456. from_secret: docker_password
  1457. username:
  1458. from_secret: docker_username
  1459. trigger:
  1460. ref:
  1461. - "refs/tags/**"
  1462. event:
  1463. exclude:
  1464. - cron
  1465. depends_on:
  1466. - docker-linux-amd64-release-version
  1467. - docker-linux-amd64-release-candidate-version
  1468. - docker-linux-arm64-release-version
  1469. - docker-linux-arm64-release-candidate-version
  1470. ---
  1471. kind: pipeline
  1472. type: docker
  1473. name: docker-manifest
  1474. platform:
  1475. os: linux
  1476. arch: amd64
  1477. steps:
  1478. - name: manifest-rootless
  1479. pull: always
  1480. image: plugins/manifest
  1481. pull: always
  1482. settings:
  1483. auto_tag: false
  1484. ignore_missing: true
  1485. spec: docker/manifest.rootless.tmpl
  1486. password:
  1487. from_secret: docker_password
  1488. username:
  1489. from_secret: docker_username
  1490. - name: manifest
  1491. image: plugins/manifest
  1492. settings:
  1493. auto_tag: false
  1494. ignore_missing: true
  1495. spec: docker/manifest.tmpl
  1496. password:
  1497. from_secret: docker_password
  1498. username:
  1499. from_secret: docker_username
  1500. trigger:
  1501. ref:
  1502. - refs/heads/main
  1503. - "refs/heads/release/v*"
  1504. event:
  1505. exclude:
  1506. - cron
  1507. depends_on:
  1508. - docker-linux-amd64-release
  1509. - docker-linux-arm64-release
  1510. - docker-linux-amd64-release-branch
  1511. - docker-linux-arm64-release-branch
  1512. ---
  1513. kind: pipeline
  1514. type: docker
  1515. name: notifications
  1516. platform:
  1517. os: linux
  1518. arch: arm64
  1519. clone:
  1520. disable: true
  1521. trigger:
  1522. branch:
  1523. - main
  1524. - "release/*"
  1525. event:
  1526. - push
  1527. - tag
  1528. status:
  1529. - success
  1530. - failure
  1531. depends_on:
  1532. - testing-amd64
  1533. - testing-arm64
  1534. - release-version
  1535. - release-latest
  1536. - docker-linux-amd64-release
  1537. - docker-linux-arm64-release
  1538. - docker-linux-amd64-release-version
  1539. - docker-linux-arm64-release-version
  1540. - docker-linux-amd64-release-candidate-version
  1541. - docker-linux-arm64-release-candidate-version
  1542. - docker-linux-amd64-release-branch
  1543. - docker-linux-arm64-release-branch
  1544. - docker-manifest
  1545. - docker-manifest-version
  1546. - docs
  1547. steps:
  1548. - name: discord
  1549. image: appleboy/drone-discord:1.2.4
  1550. pull: always
  1551. settings:
  1552. message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` succeeded.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{/success}}\n"
  1553. webhook_id:
  1554. from_secret: discord_webhook_id
  1555. webhook_token:
  1556. from_secret: discord_webhook_token