Skip to content

Commit d4667a4

Browse files
sapktechknowlogick
authored andcommitted
drone/docker: prepare multi-arch release + provide arm64 image (#7571)
* 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 635e7b3 commit d4667a4

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
@@ -560,7 +560,7 @@ steps:
560560

561561
---
562562
kind: pipeline
563-
name: docker
563+
name: docker-linux-amd64
564564

565565
platform:
566566
os: linux
@@ -596,6 +596,7 @@ steps:
596596
settings:
597597
dry_run: true
598598
repo: gitea/gitea
599+
tags: linux-amd64
599600
when:
600601
event:
601602
- pull_request
@@ -605,6 +606,7 @@ steps:
605606
image: plugins/docker:linux-amd64
606607
settings:
607608
auto_tag: true
609+
auto_tag_suffix: linux-amd64
608610
repo: gitea/gitea
609611
password:
610612
from_secret: docker_password
@@ -615,6 +617,97 @@ steps:
615617
exclude:
616618
- pull_request
617619

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

643738
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)