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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  1. ---
  2. kind: pipeline
  3. name: compliance
  4. platform:
  5. os: linux
  6. arch: arm64
  7. trigger:
  8. event:
  9. - push
  10. - tag
  11. - pull_request
  12. steps:
  13. - name: deps-frontend
  14. pull: always
  15. image: node:14
  16. commands:
  17. - make node_modules
  18. - name: lint-frontend
  19. image: node:14
  20. commands:
  21. - make lint-frontend
  22. depends_on: [deps-frontend]
  23. - name: lint-backend
  24. pull: always
  25. image: golang:1.16
  26. commands:
  27. - make lint-backend
  28. environment:
  29. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  30. GOSUMDB: sum.golang.org
  31. TAGS: bindata sqlite sqlite_unlock_notify
  32. - name: lint-backend-windows
  33. pull: always
  34. image: golang:1.16
  35. commands:
  36. - make golangci-lint vet
  37. environment:
  38. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  39. GOSUMDB: sum.golang.org
  40. TAGS: bindata sqlite sqlite_unlock_notify
  41. GOOS: windows
  42. GOARCH: amd64
  43. - name: lint-backend-gogit
  44. pull: always
  45. image: golang:1.16
  46. commands:
  47. - make lint-backend
  48. environment:
  49. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  50. GOSUMDB: sum.golang.org
  51. TAGS: bindata gogit sqlite sqlite_unlock_notify
  52. - name: checks-frontend
  53. image: node:14
  54. commands:
  55. - make checks-frontend
  56. depends_on: [deps-frontend]
  57. - name: checks-backend
  58. pull: always
  59. image: golang:1.16
  60. commands:
  61. - make checks-backend
  62. depends_on: [lint-backend]
  63. - name: build-frontend
  64. image: node:14
  65. commands:
  66. - make frontend
  67. depends_on: [lint-frontend]
  68. - name: build-backend-no-gcc
  69. pull: always
  70. image: golang:1.14 # this step is kept as the lowest version of golang that we support
  71. environment:
  72. GO111MODULE: on
  73. GOPROXY: off
  74. commands:
  75. - go build -mod=vendor -o gitea_no_gcc # test if build succeeds without the sqlite tag
  76. depends_on: [checks-backend]
  77. - name: build-backend-arm64
  78. image: golang:1.16
  79. environment:
  80. GO111MODULE: on
  81. GOPROXY: off
  82. GOOS: linux
  83. GOARCH: arm64
  84. TAGS: bindata gogit
  85. commands:
  86. - make backend # test cross compile
  87. - rm ./gitea # clean
  88. depends_on: [checks-backend]
  89. - name: build-backend-windows
  90. image: golang:1.16
  91. environment:
  92. GO111MODULE: on
  93. GOPROXY: off
  94. GOOS: windows
  95. GOARCH: amd64
  96. TAGS: bindata gogit
  97. commands:
  98. - go build -mod=vendor -o gitea_windows
  99. depends_on: [checks-backend]
  100. - name: build-backend-386
  101. image: golang:1.16
  102. environment:
  103. GO111MODULE: on
  104. GOPROXY: off
  105. GOOS: linux
  106. GOARCH: 386
  107. commands:
  108. - go build -mod=vendor -o gitea_linux_386 # test if compatible with 32 bit
  109. depends_on: [checks-backend]
  110. ---
  111. kind: pipeline
  112. name: testing-amd64
  113. platform:
  114. os: linux
  115. arch: amd64
  116. depends_on:
  117. - compliance
  118. trigger:
  119. event:
  120. - push
  121. - tag
  122. - pull_request
  123. services:
  124. - name: mysql
  125. image: mysql:5.7
  126. environment:
  127. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  128. MYSQL_DATABASE: test
  129. - name: mysql8
  130. image: mysql:8.0
  131. environment:
  132. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  133. MYSQL_DATABASE: testgitea
  134. - name: mssql
  135. image: mcr.microsoft.com/mssql/server:latest
  136. environment:
  137. ACCEPT_EULA: Y
  138. MSSQL_PID: Standard
  139. SA_PASSWORD: MwantsaSecurePassword1
  140. - name: ldap
  141. image: gitea/test-openldap:latest
  142. - name: elasticsearch
  143. environment:
  144. discovery.type: single-node
  145. image: elasticsearch:7.5.0
  146. - name: minio
  147. image: minio/minio:RELEASE.2021-01-16T02-19-44Z
  148. commands:
  149. - minio server /data
  150. environment:
  151. MINIO_ACCESS_KEY: 123456
  152. MINIO_SECRET_KEY: 12345678
  153. steps:
  154. - name: fetch-tags
  155. image: docker:git
  156. commands:
  157. - git fetch --tags --force
  158. when:
  159. event:
  160. exclude:
  161. - pull_request
  162. - name: build
  163. pull: always
  164. image: golang:1.16
  165. commands:
  166. - make backend
  167. environment:
  168. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  169. GOSUMDB: sum.golang.org
  170. TAGS: bindata sqlite sqlite_unlock_notify
  171. - name: tag-pre-condition
  172. pull: always
  173. image: drone/git
  174. commands:
  175. - git update-ref refs/heads/tag_test ${DRONE_COMMIT_SHA}
  176. - name: unit-test
  177. image: golang:1.16
  178. commands:
  179. - make unit-test-coverage test-check
  180. environment:
  181. GOPROXY: off
  182. TAGS: bindata sqlite sqlite_unlock_notify
  183. GITHUB_READ_TOKEN:
  184. from_secret: github_read_token
  185. - name: unit-test-gogit
  186. pull: always
  187. image: golang:1.16
  188. commands:
  189. - make unit-test-coverage test-check
  190. environment:
  191. GOPROXY: off
  192. TAGS: bindata gogit sqlite sqlite_unlock_notify
  193. GITHUB_READ_TOKEN:
  194. from_secret: github_read_token
  195. - name: test-mysql
  196. image: golang:1.16
  197. commands:
  198. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  199. - apt-get install -y git-lfs
  200. - make test-mysql-migration integration-test-coverage
  201. environment:
  202. GOPROXY: off
  203. TAGS: bindata
  204. TEST_LDAP: 1
  205. USE_REPO_TEST_DIR: 1
  206. TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
  207. depends_on:
  208. - build
  209. - name: test-mysql8
  210. image: golang:1.16
  211. commands:
  212. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  213. - apt-get install -y git-lfs
  214. - timeout -s ABRT 40m make test-mysql8-migration test-mysql8
  215. environment:
  216. GOPROXY: off
  217. TAGS: bindata
  218. TEST_LDAP: 1
  219. USE_REPO_TEST_DIR: 1
  220. depends_on:
  221. - build
  222. - name: test-mssql
  223. image: golang:1.16
  224. commands:
  225. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  226. - apt-get install -y git-lfs
  227. - make test-mssql-migration test-mssql
  228. environment:
  229. GOPROXY: off
  230. TAGS: bindata
  231. TEST_LDAP: 1
  232. USE_REPO_TEST_DIR: 1
  233. depends_on:
  234. - build
  235. - name: generate-coverage
  236. image: golang:1.16
  237. commands:
  238. - make coverage
  239. environment:
  240. GOPROXY: off
  241. TAGS: bindata
  242. depends_on:
  243. - unit-test
  244. - test-mysql
  245. when:
  246. branch:
  247. - master
  248. event:
  249. - push
  250. - pull_request
  251. - name: coverage-codecov
  252. pull: always
  253. image: plugins/codecov
  254. settings:
  255. files:
  256. - coverage.all
  257. token:
  258. from_secret: codecov_token
  259. depends_on:
  260. - generate-coverage
  261. when:
  262. branch:
  263. - master
  264. event:
  265. - push
  266. - pull_request
  267. ---
  268. kind: pipeline
  269. name: testing-arm64
  270. platform:
  271. os: linux
  272. arch: arm64
  273. depends_on:
  274. - compliance
  275. trigger:
  276. event:
  277. - push
  278. - tag
  279. - pull_request
  280. services:
  281. - name: pgsql
  282. pull: default
  283. image: postgres:9.5
  284. environment:
  285. POSTGRES_DB: test
  286. POSTGRES_PASSWORD: postgres
  287. - name: ldap
  288. pull: default
  289. image: gitea/test-openldap:latest
  290. steps:
  291. - name: fetch-tags
  292. image: docker:git
  293. commands:
  294. - git fetch --tags --force
  295. when:
  296. event:
  297. exclude:
  298. - pull_request
  299. - name: build
  300. pull: always
  301. image: golang:1.16
  302. commands:
  303. - make backend
  304. environment:
  305. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  306. GOSUMDB: sum.golang.org
  307. TAGS: bindata gogit sqlite sqlite_unlock_notify
  308. - name: test-sqlite
  309. image: golang:1.16
  310. commands:
  311. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  312. - apt-get install -y git-lfs
  313. - timeout -s ABRT 40m make test-sqlite-migration test-sqlite
  314. environment:
  315. GOPROXY: off
  316. TAGS: bindata gogit sqlite sqlite_unlock_notify
  317. TEST_TAGS: gogit sqlite sqlite_unlock_notify
  318. USE_REPO_TEST_DIR: 1
  319. depends_on:
  320. - build
  321. - name: test-pgsql
  322. image: golang:1.16
  323. commands:
  324. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  325. - apt-get install -y git-lfs
  326. - timeout -s ABRT 40m make test-pgsql-migration test-pgsql
  327. environment:
  328. GOPROXY: off
  329. TAGS: bindata gogit
  330. TEST_TAGS: gogit
  331. TEST_LDAP: 1
  332. USE_REPO_TEST_DIR: 1
  333. depends_on:
  334. - build
  335. ---
  336. kind: pipeline
  337. name: update_translations
  338. platform:
  339. os: linux
  340. arch: arm64
  341. trigger:
  342. branch:
  343. - master
  344. event:
  345. - cron
  346. cron:
  347. - update_translations
  348. steps:
  349. - name: download
  350. pull: always
  351. image: jonasfranz/crowdin
  352. settings:
  353. download: true
  354. export_dir: options/locale/
  355. ignore_branch: true
  356. project_identifier: gitea
  357. environment:
  358. CROWDIN_KEY:
  359. from_secret: crowdin_key
  360. - name: update
  361. pull: default
  362. image: alpine:3.13
  363. commands:
  364. - ./build/update-locales.sh
  365. - name: push
  366. pull: always
  367. image: appleboy/drone-git-push
  368. settings:
  369. author_email: "teabot@gitea.io"
  370. author_name: GiteaBot
  371. commit: true
  372. commit_message: "[skip ci] Updated translations via Crowdin"
  373. remote: "git@github.com:go-gitea/gitea.git"
  374. environment:
  375. GIT_PUSH_SSH_KEY:
  376. from_secret: git_push_ssh_key
  377. - name: upload_translations
  378. pull: always
  379. image: jonasfranz/crowdin
  380. settings:
  381. files:
  382. locale_en-US.ini: options/locale/locale_en-US.ini
  383. ignore_branch: true
  384. project_identifier: gitea
  385. environment:
  386. CROWDIN_KEY:
  387. from_secret: crowdin_key
  388. ---
  389. kind: pipeline
  390. name: update_gitignore_and_licenses
  391. platform:
  392. os: linux
  393. arch: arm64
  394. trigger:
  395. branch:
  396. - master
  397. event:
  398. - cron
  399. cron:
  400. - update_gitignore_and_licenses
  401. steps:
  402. - name: download
  403. image: golang:1.16
  404. commands:
  405. - timeout -s ABRT 40m make generate-license generate-gitignore
  406. - name: push
  407. pull: always
  408. image: appleboy/drone-git-push
  409. settings:
  410. author_email: "teabot@gitea.io"
  411. author_name: GiteaBot
  412. commit: true
  413. commit_message: "[skip ci] Updated licenses and gitignores "
  414. remote: "git@github.com:go-gitea/gitea.git"
  415. environment:
  416. GIT_PUSH_SSH_KEY:
  417. from_secret: git_push_ssh_key
  418. ---
  419. kind: pipeline
  420. name: release-latest
  421. platform:
  422. os: linux
  423. arch: amd64
  424. trigger:
  425. branch:
  426. - master
  427. - "release/*"
  428. event:
  429. - push
  430. depends_on:
  431. - testing-amd64
  432. - testing-arm64
  433. steps:
  434. - name: fetch-tags
  435. image: docker:git
  436. commands:
  437. - git fetch --tags --force
  438. - name: static
  439. pull: always
  440. image: techknowlogick/xgo:go-1.16.x
  441. commands:
  442. - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs
  443. - export PATH=$PATH:$GOPATH/bin
  444. - make release
  445. environment:
  446. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  447. TAGS: bindata sqlite sqlite_unlock_notify
  448. - name: gpg-sign
  449. pull: always
  450. image: plugins/gpgsign:1
  451. settings:
  452. detach_sign: true
  453. excludes:
  454. - "dist/release/*.sha256"
  455. files:
  456. - "dist/release/*"
  457. environment:
  458. GPGSIGN_KEY:
  459. from_secret: gpgsign_key
  460. GPGSIGN_PASSPHRASE:
  461. from_secret: gpgsign_passphrase
  462. - name: release-branch
  463. pull: always
  464. image: plugins/s3:1
  465. settings:
  466. acl: public-read
  467. bucket: releases
  468. endpoint: https://storage.gitea.io
  469. path_style: true
  470. source: "dist/release/*"
  471. strip_prefix: dist/release/
  472. target: "/gitea/${DRONE_BRANCH##release/v}"
  473. environment:
  474. AWS_ACCESS_KEY_ID:
  475. from_secret: aws_access_key_id
  476. AWS_SECRET_ACCESS_KEY:
  477. from_secret: aws_secret_access_key
  478. when:
  479. branch:
  480. - "release/*"
  481. event:
  482. - push
  483. - name: release-master
  484. image: plugins/s3:1
  485. settings:
  486. acl: public-read
  487. bucket: releases
  488. endpoint: https://storage.gitea.io
  489. path_style: true
  490. source: "dist/release/*"
  491. strip_prefix: dist/release/
  492. target: /gitea/master
  493. environment:
  494. AWS_ACCESS_KEY_ID:
  495. from_secret: aws_access_key_id
  496. AWS_SECRET_ACCESS_KEY:
  497. from_secret: aws_secret_access_key
  498. when:
  499. branch:
  500. - master
  501. event:
  502. - push
  503. ---
  504. kind: pipeline
  505. name: release-version
  506. platform:
  507. os: linux
  508. arch: amd64
  509. trigger:
  510. event:
  511. - tag
  512. depends_on:
  513. - testing-arm64
  514. - testing-amd64
  515. steps:
  516. - name: fetch-tags
  517. pull: default
  518. image: docker:git
  519. commands:
  520. - git fetch --tags --force
  521. - name: static
  522. pull: always
  523. image: techknowlogick/xgo:go-1.16.x
  524. commands:
  525. - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs
  526. - export PATH=$PATH:$GOPATH/bin
  527. - make release
  528. environment:
  529. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  530. TAGS: bindata sqlite sqlite_unlock_notify
  531. - name: gpg-sign
  532. pull: always
  533. image: plugins/gpgsign:1
  534. settings:
  535. detach_sign: true
  536. excludes:
  537. - "dist/release/*.sha256"
  538. files:
  539. - "dist/release/*"
  540. environment:
  541. GPGSIGN_KEY:
  542. from_secret: gpgsign_key
  543. GPGSIGN_PASSPHRASE:
  544. from_secret: gpgsign_passphrase
  545. - name: release-tag
  546. pull: always
  547. image: plugins/s3:1
  548. settings:
  549. acl: public-read
  550. bucket: releases
  551. endpoint: https://storage.gitea.io
  552. path_style: true
  553. source: "dist/release/*"
  554. strip_prefix: dist/release/
  555. target: "/gitea/${DRONE_TAG##v}"
  556. environment:
  557. AWS_ACCESS_KEY_ID:
  558. from_secret: aws_access_key_id
  559. AWS_SECRET_ACCESS_KEY:
  560. from_secret: aws_secret_access_key
  561. - name: github
  562. pull: always
  563. image: plugins/github-release:1
  564. settings:
  565. files:
  566. - "dist/release/*"
  567. environment:
  568. GITHUB_TOKEN:
  569. from_secret: github_token
  570. ---
  571. kind: pipeline
  572. name: docs
  573. platform:
  574. os: linux
  575. arch: arm64
  576. depends_on:
  577. - compliance
  578. trigger:
  579. event:
  580. - push
  581. - tag
  582. - pull_request
  583. steps:
  584. - name: build-docs
  585. pull: always
  586. image: plugins/hugo:latest
  587. commands:
  588. - apk add --no-cache make bash curl
  589. - cd docs
  590. - make trans-copy clean build
  591. - name: publish-docs
  592. pull: always
  593. image: techknowlogick/drone-netlify:latest
  594. settings:
  595. path: docs/public/
  596. site_id: d2260bae-7861-4c02-8646-8f6440b12672
  597. environment:
  598. NETLIFY_TOKEN:
  599. from_secret: netlify_token
  600. when:
  601. branch:
  602. - master
  603. event:
  604. - push
  605. ---
  606. kind: pipeline
  607. name: docker-linux-amd64-release
  608. platform:
  609. os: linux
  610. arch: amd64
  611. depends_on:
  612. - testing-amd64
  613. - testing-arm64
  614. trigger:
  615. ref:
  616. - refs/heads/master
  617. - "refs/tags/**"
  618. event:
  619. exclude:
  620. - cron
  621. steps:
  622. - name: fetch-tags
  623. image: docker:git
  624. commands:
  625. - git fetch --tags --force
  626. - name: publish
  627. pull: always
  628. image: plugins/docker:linux-amd64
  629. settings:
  630. auto_tag: true
  631. auto_tag_suffix: linux-amd64
  632. repo: gitea/gitea
  633. build_args:
  634. - GOPROXY=off
  635. password:
  636. from_secret: docker_password
  637. username:
  638. from_secret: docker_username
  639. when:
  640. event:
  641. exclude:
  642. - pull_request
  643. - name: publish-rootless
  644. image: plugins/docker:linux-amd64
  645. settings:
  646. dockerfile: Dockerfile.rootless
  647. auto_tag: true
  648. auto_tag_suffix: linux-amd64-rootless
  649. repo: gitea/gitea
  650. build_args:
  651. - GOPROXY=off
  652. password:
  653. from_secret: docker_password
  654. username:
  655. from_secret: docker_username
  656. environment:
  657. PLUGIN_MIRROR:
  658. from_secret: plugin_mirror
  659. when:
  660. event:
  661. exclude:
  662. - pull_request
  663. ---
  664. kind: pipeline
  665. name: docker-linux-arm64-dry-run
  666. platform:
  667. os: linux
  668. arch: arm64
  669. depends_on:
  670. - compliance
  671. trigger:
  672. ref:
  673. - "refs/pull/**"
  674. steps:
  675. - name: dryrun
  676. pull: always
  677. image: plugins/docker:linux-arm64
  678. settings:
  679. dry_run: true
  680. repo: gitea/gitea
  681. tags: linux-arm64
  682. build_args:
  683. - GOPROXY=off
  684. environment:
  685. PLUGIN_MIRROR:
  686. from_secret: plugin_mirror
  687. when:
  688. event:
  689. - pull_request
  690. ---
  691. kind: pipeline
  692. name: docker-linux-arm64-release
  693. platform:
  694. os: linux
  695. arch: arm64
  696. depends_on:
  697. - testing-amd64
  698. - testing-arm64
  699. trigger:
  700. ref:
  701. - refs/heads/master
  702. - "refs/tags/**"
  703. event:
  704. exclude:
  705. - cron
  706. steps:
  707. - name: fetch-tags
  708. image: docker:git
  709. commands:
  710. - git fetch --tags --force
  711. - name: publish
  712. pull: always
  713. image: plugins/docker:linux-arm64
  714. settings:
  715. auto_tag: true
  716. auto_tag_suffix: linux-arm64
  717. repo: gitea/gitea
  718. build_args:
  719. - GOPROXY=off
  720. password:
  721. from_secret: docker_password
  722. username:
  723. from_secret: docker_username
  724. environment:
  725. PLUGIN_MIRROR:
  726. from_secret: plugin_mirror
  727. when:
  728. event:
  729. exclude:
  730. - pull_request
  731. - name: publish-rootless
  732. image: plugins/docker:linux-arm64
  733. settings:
  734. dockerfile: Dockerfile.rootless
  735. auto_tag: true
  736. auto_tag_suffix: linux-arm64-rootless
  737. repo: gitea/gitea
  738. build_args:
  739. - GOPROXY=off
  740. password:
  741. from_secret: docker_password
  742. username:
  743. from_secret: docker_username
  744. environment:
  745. PLUGIN_MIRROR:
  746. from_secret: plugin_mirror
  747. when:
  748. event:
  749. exclude:
  750. - pull_request
  751. ---
  752. kind: pipeline
  753. name: docker-manifest
  754. platform:
  755. os: linux
  756. arch: amd64
  757. steps:
  758. - name: manifest-rootless
  759. pull: always
  760. image: plugins/manifest
  761. settings:
  762. auto_tag: true
  763. ignore_missing: true
  764. spec: docker/manifest.rootless.tmpl
  765. password:
  766. from_secret: docker_password
  767. username:
  768. from_secret: docker_username
  769. - name: manifest
  770. image: plugins/manifest
  771. settings:
  772. auto_tag: true
  773. ignore_missing: true
  774. spec: docker/manifest.tmpl
  775. password:
  776. from_secret: docker_password
  777. username:
  778. from_secret: docker_username
  779. trigger:
  780. ref:
  781. - refs/heads/master
  782. - "refs/tags/**"
  783. event:
  784. exclude:
  785. - cron
  786. depends_on:
  787. - docker-linux-amd64-release
  788. - docker-linux-arm64-release
  789. ---
  790. kind: pipeline
  791. name: notifications
  792. platform:
  793. os: linux
  794. arch: arm64
  795. clone:
  796. disable: true
  797. trigger:
  798. branch:
  799. - master
  800. - "release/*"
  801. event:
  802. - push
  803. - tag
  804. status:
  805. - success
  806. - failure
  807. depends_on:
  808. - testing-amd64
  809. - testing-arm64
  810. - release-version
  811. - release-latest
  812. - docker-linux-amd64-release
  813. - docker-linux-arm64-release
  814. - docker-manifest
  815. - docs
  816. steps:
  817. - name: discord
  818. pull: always
  819. image: appleboy/drone-discord:1.2.4
  820. settings:
  821. 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"
  822. webhook_id:
  823. from_secret: discord_webhook_id
  824. webhook_token:
  825. from_secret: discord_webhook_token