Skip to content

Commit 14c979c

Browse files
sapktechknowlogick
authored andcommitted
drone/docker: prepare multi-arch release + provide arm64 image (#7571) (#7884)
* drone/docker: prepare multi-arch release * Add docker-linux-arm64 pipeline * add arm 64 build to manifest * tag dry-run + indent * Fix notify dependency
1 parent 6b84a1d commit 14c979c

File tree

2 files changed

+116
-2
lines changed

2 files changed

+116
-2
lines changed

.drone.yml

+97-2
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ steps:
558558

559559
---
560560
kind: pipeline
561-
name: docker
561+
name: docker-linux-amd64
562562

563563
platform:
564564
os: linux
@@ -594,6 +594,7 @@ steps:
594594
settings:
595595
dry_run: true
596596
repo: gitea/gitea
597+
tags: linux-amd64
597598
when:
598599
event:
599600
- pull_request
@@ -603,6 +604,7 @@ steps:
603604
image: plugins/docker:linux-amd64
604605
settings:
605606
auto_tag: true
607+
auto_tag_suffix: linux-amd64
606608
repo: gitea/gitea
607609
password:
608610
from_secret: docker_password
@@ -613,6 +615,97 @@ steps:
613615
exclude:
614616
- pull_request
615617

618+
619+
620+
---
621+
kind: pipeline
622+
name: docker-linux-arm64
623+
624+
platform:
625+
os: linux
626+
arch: arm64
627+
628+
workspace:
629+
base: /go
630+
path: src/code.gitea.io/gitea
631+
632+
depends_on:
633+
- testing
634+
635+
trigger:
636+
ref:
637+
- refs/heads/master
638+
- "refs/tags/**"
639+
- "refs/pull/**"
640+
641+
steps:
642+
- name: fetch-tags
643+
pull: default
644+
image: docker:git
645+
commands:
646+
- git fetch --tags --force
647+
when:
648+
event:
649+
exclude:
650+
- pull_request
651+
652+
- name: dryrun
653+
pull: always
654+
image: plugins/docker:linux-arm64
655+
settings:
656+
dry_run: true
657+
repo: gitea/gitea
658+
tags: linux-arm64
659+
when:
660+
event:
661+
- pull_request
662+
663+
- name: publish
664+
pull: always
665+
image: plugins/docker:linux-arm64
666+
settings:
667+
auto_tag: true
668+
auto_tag_suffix: linux-arm64
669+
repo: gitea/gitea
670+
password:
671+
from_secret: docker_password
672+
username:
673+
from_secret: docker_username
674+
when:
675+
event:
676+
exclude:
677+
- pull_request
678+
679+
---
680+
kind: pipeline
681+
name: docker-manifest
682+
683+
platform:
684+
os: linux
685+
arch: amd64
686+
687+
steps:
688+
- name: manifest
689+
pull: always
690+
image: plugins/manifest
691+
settings:
692+
auto_tag: true
693+
ignore_missing: true
694+
spec: docker/manifest.tmpl
695+
password:
696+
from_secret: docker_password
697+
username:
698+
from_secret: docker_username
699+
700+
trigger:
701+
ref:
702+
- refs/heads/master
703+
- "refs/tags/**"
704+
705+
depends_on:
706+
- docker-linux-amd64
707+
- docker-linux-arm64
708+
616709
---
617710
kind: pipeline
618711
name: notify
@@ -635,7 +728,9 @@ depends_on:
635728
- translations
636729
- release-version
637730
- release-master
638-
- docker
731+
- docker-linux-amd64
732+
- docker-linux-arm64
733+
- docker-manifest
639734
- docs
640735

641736
steps:

docker/manifest.tmpl

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
2+
{{#if build.tags}}
3+
tags:
4+
{{#each build.tags}}
5+
- {{this}}
6+
{{/each}}
7+
{{/if}}
8+
manifests:
9+
-
10+
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
11+
platform:
12+
architecture: amd64
13+
os: linux
14+
-
15+
image: gitea/gitea:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
16+
platform:
17+
architecture: arm64
18+
os: linux
19+
variant: v8

0 commit comments

Comments
 (0)