Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

.drone.yml 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  1. ---
  2. kind: pipeline
  3. name: compliance
  4. platform:
  5. os: linux
  6. arch: arm64
  7. workspace:
  8. base: /go
  9. path: src/code.gitea.io/gitea
  10. steps:
  11. - name: deps-frontend
  12. pull: always
  13. image: node:14
  14. commands:
  15. - make node_modules
  16. - name: lint-frontend
  17. image: node:14
  18. commands:
  19. - make lint-frontend
  20. depends_on: [deps-frontend]
  21. - name: lint-backend
  22. pull: always
  23. image: golang:1.15
  24. commands:
  25. - make lint-backend
  26. environment:
  27. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  28. GOSUMDB: sum.golang.org
  29. TAGS: bindata sqlite sqlite_unlock_notify
  30. - name: lint-backend-windows
  31. pull: always
  32. image: golang:1.15
  33. commands:
  34. - make golangci-lint vet
  35. environment:
  36. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  37. GOSUMDB: sum.golang.org
  38. TAGS: bindata sqlite sqlite_unlock_notify
  39. GOOS: windows
  40. GOARCH: amd64
  41. - name: lint-backend-gogit
  42. pull: always
  43. image: golang:1.15
  44. commands:
  45. - make lint-backend
  46. environment:
  47. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  48. GOSUMDB: sum.golang.org
  49. TAGS: bindata gogit sqlite sqlite_unlock_notify
  50. - name: checks-frontend
  51. image: node:14
  52. commands:
  53. - make checks-frontend
  54. depends_on: [deps-frontend]
  55. - name: checks-backend
  56. pull: always
  57. image: golang:1.14
  58. commands:
  59. - make checks-backend
  60. depends_on: [lint-backend]
  61. - name: build-frontend
  62. image: node:14
  63. commands:
  64. - make frontend
  65. depends_on: [lint-frontend]
  66. - name: build-backend-no-gcc
  67. pull: always
  68. image: golang:1.13 # this step is kept as the lowest version of golang that we support
  69. environment:
  70. GO111MODULE: on
  71. GOPROXY: off
  72. commands:
  73. - go build -mod=vendor -o gitea_no_gcc # test if build succeeds without the sqlite tag
  74. depends_on: [checks-backend]
  75. - name: build-backend-arm64
  76. image: golang:1.15
  77. environment:
  78. GO111MODULE: on
  79. GOPROXY: off
  80. GOOS: linux
  81. GOARCH: arm64
  82. TAGS: bindata gogit
  83. commands:
  84. - make backend # test cross compile
  85. - rm ./gitea # clean
  86. depends_on: [checks-backend]
  87. - name: build-backend-windows
  88. image: golang:1.15
  89. environment:
  90. GO111MODULE: on
  91. GOPROXY: off
  92. GOOS: windows
  93. GOARCH: amd64
  94. TAGS: bindata gogit
  95. commands:
  96. - go build -mod=vendor -o gitea_windows
  97. depends_on: [checks-backend]
  98. - name: build-backend-386
  99. image: golang:1.15
  100. environment:
  101. GO111MODULE: on
  102. GOPROXY: off
  103. GOOS: linux
  104. GOARCH: 386
  105. commands:
  106. - go build -mod=vendor -o gitea_linux_386 # test if compatible with 32 bit
  107. depends_on: [checks-backend]
  108. ---
  109. kind: pipeline
  110. name: testing-amd64
  111. platform:
  112. os: linux
  113. arch: amd64
  114. depends_on:
  115. - compliance
  116. workspace:
  117. base: /go
  118. path: src/code.gitea.io/gitea
  119. services:
  120. - name: mysql
  121. image: mysql:5.7
  122. environment:
  123. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  124. MYSQL_DATABASE: test
  125. - name: mysql8
  126. image: mysql:8.0
  127. environment:
  128. MYSQL_ALLOW_EMPTY_PASSWORD: yes
  129. MYSQL_DATABASE: testgitea
  130. - name: mssql
  131. image: mcr.microsoft.com/mssql/server:latest
  132. environment:
  133. ACCEPT_EULA: Y
  134. MSSQL_PID: Standard
  135. SA_PASSWORD: MwantsaSecurePassword1
  136. - name: ldap
  137. image: gitea/test-openldap:latest
  138. - name: elasticsearch
  139. environment:
  140. discovery.type: single-node
  141. image: elasticsearch:7.5.0
  142. - name: minio
  143. image: minio/minio:RELEASE.2020-10-09T22-55-05Z
  144. commands:
  145. - minio server /data
  146. environment:
  147. MINIO_ACCESS_KEY: 123456
  148. MINIO_SECRET_KEY: 12345678
  149. steps:
  150. - name: fetch-tags
  151. image: docker:git
  152. commands:
  153. - git fetch --tags --force
  154. when:
  155. event:
  156. exclude:
  157. - pull_request
  158. - name: build
  159. pull: always
  160. image: golang:1.15
  161. commands:
  162. - make backend
  163. environment:
  164. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  165. GOSUMDB: sum.golang.org
  166. TAGS: bindata sqlite sqlite_unlock_notify
  167. - name: tag-pre-condition
  168. pull: always
  169. image: drone/git
  170. commands:
  171. - git update-ref refs/heads/tag_test ${DRONE_COMMIT_SHA}
  172. - name: unit-test
  173. image: golang:1.15
  174. commands:
  175. - make unit-test-coverage test-check
  176. environment:
  177. GOPROXY: off
  178. TAGS: bindata sqlite sqlite_unlock_notify
  179. GITHUB_READ_TOKEN:
  180. from_secret: github_read_token
  181. - name: unit-test-gogit
  182. pull: always
  183. image: golang:1.15
  184. commands:
  185. - make unit-test-coverage test-check
  186. environment:
  187. GOPROXY: off
  188. TAGS: bindata gogit sqlite sqlite_unlock_notify
  189. GITHUB_READ_TOKEN:
  190. from_secret: github_read_token
  191. - name: test-mysql
  192. image: golang:1.15
  193. commands:
  194. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  195. - apt-get install -y git-lfs
  196. - make test-mysql-migration integration-test-coverage
  197. environment:
  198. GOPROXY: off
  199. TAGS: bindata
  200. TEST_LDAP: 1
  201. USE_REPO_TEST_DIR: 1
  202. TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200"
  203. depends_on:
  204. - build
  205. - name: test-mysql8
  206. image: golang:1.15
  207. commands:
  208. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  209. - apt-get install -y git-lfs
  210. - timeout -s ABRT 40m make test-mysql8-migration test-mysql8
  211. environment:
  212. GOPROXY: off
  213. TAGS: bindata
  214. TEST_LDAP: 1
  215. USE_REPO_TEST_DIR: 1
  216. depends_on:
  217. - build
  218. - name: test-mssql
  219. image: golang:1.15
  220. commands:
  221. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  222. - apt-get install -y git-lfs
  223. - make test-mssql-migration test-mssql
  224. environment:
  225. GOPROXY: off
  226. TAGS: bindata
  227. TEST_LDAP: 1
  228. USE_REPO_TEST_DIR: 1
  229. depends_on:
  230. - build
  231. - name: generate-coverage
  232. image: golang:1.15
  233. commands:
  234. - make coverage
  235. environment:
  236. GOPROXY: off
  237. TAGS: bindata
  238. depends_on:
  239. - unit-test
  240. - test-mysql
  241. when:
  242. branch:
  243. - master
  244. event:
  245. - push
  246. - pull_request
  247. - name: coverage-codecov
  248. pull: always
  249. image: plugins/codecov
  250. settings:
  251. files:
  252. - coverage.all
  253. token:
  254. from_secret: codecov_token
  255. depends_on:
  256. - generate-coverage
  257. when:
  258. branch:
  259. - master
  260. event:
  261. - push
  262. - pull_request
  263. ---
  264. kind: pipeline
  265. name: testing-arm64
  266. platform:
  267. os: linux
  268. arch: arm64
  269. depends_on:
  270. - compliance
  271. workspace:
  272. base: /go
  273. path: src/code.gitea.io/gitea
  274. services:
  275. - name: pgsql
  276. pull: default
  277. image: postgres:9.5
  278. environment:
  279. POSTGRES_DB: test
  280. POSTGRES_PASSWORD: postgres
  281. - name: ldap
  282. pull: default
  283. image: gitea/test-openldap:latest
  284. steps:
  285. - name: fetch-tags
  286. image: docker:git
  287. commands:
  288. - git fetch --tags --force
  289. when:
  290. event:
  291. exclude:
  292. - pull_request
  293. - name: build
  294. pull: always
  295. image: golang:1.15
  296. commands:
  297. - make backend
  298. environment:
  299. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  300. GOSUMDB: sum.golang.org
  301. TAGS: bindata sqlite sqlite_unlock_notify
  302. - name: test-sqlite
  303. image: golang:1.15
  304. commands:
  305. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  306. - apt-get install -y git-lfs
  307. - timeout -s ABRT 40m make test-sqlite-migration test-sqlite
  308. environment:
  309. GOPROXY: off
  310. TAGS: bindata gogit sqlite sqlite_unlock_notify
  311. TEST_TAGS: gogit sqlite sqlite_unlock_notify
  312. USE_REPO_TEST_DIR: 1
  313. depends_on:
  314. - build
  315. - name: test-pgsql
  316. image: golang:1.15
  317. commands:
  318. - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash"
  319. - apt-get install -y git-lfs
  320. - timeout -s ABRT 40m make test-pgsql-migration test-pgsql
  321. environment:
  322. GOPROXY: off
  323. TAGS: bindata gogit
  324. TEST_TAGS: gogit
  325. TEST_LDAP: 1
  326. USE_REPO_TEST_DIR: 1
  327. depends_on:
  328. - build
  329. ---
  330. kind: pipeline
  331. name: translations
  332. platform:
  333. os: linux
  334. arch: arm64
  335. workspace:
  336. base: /go
  337. path: src/code.gitea.io/gitea
  338. trigger:
  339. branch:
  340. - master
  341. event:
  342. - push
  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. commit: true
  367. commit_message: "[skip ci] Updated translations via Crowdin"
  368. remote: "git@github.com:go-gitea/gitea.git"
  369. environment:
  370. GIT_PUSH_SSH_KEY:
  371. from_secret: git_push_ssh_key
  372. - name: upload_translations
  373. pull: always
  374. image: jonasfranz/crowdin
  375. settings:
  376. files:
  377. locale_en-US.ini: options/locale/locale_en-US.ini
  378. ignore_branch: true
  379. project_identifier: gitea
  380. environment:
  381. CROWDIN_KEY:
  382. from_secret: crowdin_key
  383. ---
  384. kind: pipeline
  385. name: update_gitignore_and_licenses
  386. platform:
  387. os: linux
  388. arch: amd64
  389. workspace:
  390. base: /go
  391. path: src/code.gitea.io/gitea
  392. trigger:
  393. branch:
  394. - master
  395. event:
  396. - cron
  397. cron:
  398. - update_gitignore_and_licenses
  399. steps:
  400. - name: download
  401. image: golang:1.15
  402. commands:
  403. - timeout -s ABRT 40m make generate-license generate-gitignore
  404. - name: push
  405. pull: always
  406. image: appleboy/drone-git-push
  407. settings:
  408. author_email: "teabot@gitea.io"
  409. author_name: GiteaBot
  410. commit: true
  411. commit_message: "[skip ci] Updated licenses and gitignores "
  412. remote: "git@github.com:go-gitea/gitea.git"
  413. environment:
  414. GIT_PUSH_SSH_KEY:
  415. from_secret: git_push_ssh_key
  416. ---
  417. kind: pipeline
  418. name: release-latest
  419. platform:
  420. os: linux
  421. arch: amd64
  422. workspace:
  423. base: /go
  424. path: src/code.gitea.io/gitea
  425. trigger:
  426. branch:
  427. - master
  428. - "release/*"
  429. event:
  430. - push
  431. depends_on:
  432. - testing-amd64
  433. - testing-arm64
  434. - translations
  435. steps:
  436. - name: fetch-tags
  437. image: docker:git
  438. commands:
  439. - git fetch --tags --force
  440. - name: static
  441. pull: always
  442. image: techknowlogick/xgo:go-1.15.x
  443. commands:
  444. - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs
  445. - export PATH=$PATH:$GOPATH/bin
  446. - make release
  447. environment:
  448. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  449. TAGS: bindata sqlite sqlite_unlock_notify
  450. - name: gpg-sign
  451. pull: always
  452. image: plugins/gpgsign:1
  453. settings:
  454. detach_sign: true
  455. excludes:
  456. - "dist/release/*.sha256"
  457. files:
  458. - "dist/release/*"
  459. environment:
  460. GPGSIGN_KEY:
  461. from_secret: gpgsign_key
  462. GPGSIGN_PASSPHRASE:
  463. from_secret: gpgsign_passphrase
  464. - name: release-branch
  465. pull: always
  466. image: plugins/s3:1
  467. settings:
  468. acl: public-read
  469. bucket: releases
  470. endpoint: https://storage.gitea.io
  471. path_style: true
  472. source: "dist/release/*"
  473. strip_prefix: dist/release/
  474. target: "/gitea/${DRONE_BRANCH##release/v}"
  475. environment:
  476. AWS_ACCESS_KEY_ID:
  477. from_secret: aws_access_key_id
  478. AWS_SECRET_ACCESS_KEY:
  479. from_secret: aws_secret_access_key
  480. when:
  481. branch:
  482. - "release/*"
  483. event:
  484. - push
  485. - name: release-master
  486. image: plugins/s3:1
  487. settings:
  488. acl: public-read
  489. bucket: releases
  490. endpoint: https://storage.gitea.io
  491. path_style: true
  492. source: "dist/release/*"
  493. strip_prefix: dist/release/
  494. target: /gitea/master
  495. environment:
  496. AWS_ACCESS_KEY_ID:
  497. from_secret: aws_access_key_id
  498. AWS_SECRET_ACCESS_KEY:
  499. from_secret: aws_secret_access_key
  500. when:
  501. branch:
  502. - master
  503. event:
  504. - push
  505. ---
  506. kind: pipeline
  507. name: release-version
  508. platform:
  509. os: linux
  510. arch: amd64
  511. workspace:
  512. base: /go
  513. path: src/code.gitea.io/gitea
  514. trigger:
  515. event:
  516. - tag
  517. depends_on:
  518. - testing-arm64
  519. - testing-amd64
  520. steps:
  521. - name: fetch-tags
  522. pull: default
  523. image: docker:git
  524. commands:
  525. - git fetch --tags --force
  526. - name: static
  527. pull: always
  528. image: techknowlogick/xgo:go-1.15.x
  529. commands:
  530. - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs
  531. - export PATH=$PATH:$GOPATH/bin
  532. - make release
  533. environment:
  534. GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not
  535. TAGS: bindata sqlite sqlite_unlock_notify
  536. - name: gpg-sign
  537. pull: always
  538. image: plugins/gpgsign:1
  539. settings:
  540. detach_sign: true
  541. excludes:
  542. - "dist/release/*.sha256"
  543. files:
  544. - "dist/release/*"
  545. environment:
  546. GPGSIGN_KEY:
  547. from_secret: gpgsign_key
  548. GPGSIGN_PASSPHRASE:
  549. from_secret: gpgsign_passphrase
  550. - name: release-tag
  551. pull: always
  552. image: plugins/s3:1
  553. settings:
  554. acl: public-read
  555. bucket: releases
  556. endpoint: https://storage.gitea.io
  557. path_style: true
  558. source: "dist/release/*"
  559. strip_prefix: dist/release/
  560. target: "/gitea/${DRONE_TAG##v}"
  561. environment:
  562. AWS_ACCESS_KEY_ID:
  563. from_secret: aws_access_key_id
  564. AWS_SECRET_ACCESS_KEY:
  565. from_secret: aws_secret_access_key
  566. - name: github
  567. pull: always
  568. image: plugins/github-release:1
  569. settings:
  570. files:
  571. - "dist/release/*"
  572. environment:
  573. GITHUB_TOKEN:
  574. from_secret: github_token
  575. ---
  576. kind: pipeline
  577. name: docs
  578. platform:
  579. os: linux
  580. arch: arm64
  581. depends_on:
  582. - compliance
  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. workspace:
  612. base: /go
  613. path: src/code.gitea.io/gitea
  614. depends_on:
  615. - testing-amd64
  616. - testing-arm64
  617. trigger:
  618. ref:
  619. - refs/heads/master
  620. - "refs/tags/**"
  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. workspace:
  670. base: /go
  671. path: src/code.gitea.io/gitea
  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. workspace:
  700. base: /go
  701. path: src/code.gitea.io/gitea
  702. depends_on:
  703. - testing-amd64
  704. - testing-arm64
  705. trigger:
  706. ref:
  707. - refs/heads/master
  708. - "refs/tags/**"
  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/master
  785. - "refs/tags/**"
  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. - translations
  811. - release-version
  812. - release-latest
  813. - docker-linux-amd64-release
  814. - docker-linux-arm64-release
  815. - docker-manifest
  816. - docs
  817. steps:
  818. - name: discord
  819. pull: always
  820. image: appleboy/drone-discord:1.2.4
  821. settings:
  822. 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"
  823. webhook_id:
  824. from_secret: discord_webhook_id
  825. webhook_token:
  826. from_secret: discord_webhook_token