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

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