Skip to content

Commit 713d50b

Browse files
charlie-haleydenisokShashank Sinha
authored
feat: deploy a multi-arch docker image (#474)
* feat: deploy a multi-arch docker image * feat: add GHCR mirror * fix: ensure QEMU and buildx are setup Co-authored-by: Denys Kondratenko <[email protected]> Co-authored-by: Shashank Sinha <[email protected]>
1 parent fcd14d4 commit 713d50b

File tree

2 files changed

+58
-3
lines changed

2 files changed

+58
-3
lines changed

.github/workflows/release.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,30 @@ jobs:
2121
uses: percona-platform/setup-go@v2
2222
with:
2323
go-version: 1.17
24-
-
24+
-
2525
name: Login to Docker Hub
2626
uses: percona-platform/login-action@v1
2727
with:
2828
username: ${{ secrets.DOCKERHUB_USERNAME }}
2929
password: ${{ secrets.DOCKERHUB_TOKEN }}
30+
31+
-
32+
name: Login to GitHub Container Registry
33+
uses: percona-platform/login-action@v1
34+
with:
35+
registry: ghcr.io
36+
username: ${{ github.actor }}
37+
password: ${{ secrets.GITHUB_TOKEN }}
38+
39+
-
40+
name: Set up QEMU
41+
uses: docker/setup-qemu-action@v2
42+
43+
-
44+
name: Set up Docker Buildx
45+
id: buildx
46+
uses: docker/setup-buildx-action@v2
47+
3048
-
3149
name: Run GoReleaser
3250
uses: percona-platform/goreleaser-action@v2

.goreleaser.yml

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,47 @@ dockers:
3636
- goos: linux
3737
goarch: amd64
3838
image_templates:
39-
- "percona/mongodb_exporter:{{.Major}}.{{.Minor}}"
40-
- "percona/mongodb_exporter:{{.Version}}"
39+
- "docker.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-amd64"
40+
- "docker.io/percona/mongodb_exporter:{{.Version}}-amd64"
41+
- "ghcr.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-amd64"
42+
- "ghcr.io/percona/mongodb_exporter:{{.Version}}-amd64"
43+
dockerfile: Dockerfile
44+
build_flag_templates:
45+
- "--pull"
46+
- "--platform=linux/amd64"
47+
- goos: linux
48+
goarch: arm64
49+
image_templates:
50+
- "docker.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-arm64v8"
51+
- "docker.io/percona/mongodb_exporter:{{.Version}}-arm64v8"
52+
- "ghcr.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-arm64v8"
53+
- "ghcr.io/percona/mongodb_exporter:{{.Version}}-arm64v8"
4154
dockerfile: Dockerfile
4255
use: buildx
56+
build_flag_templates:
57+
- "--pull"
58+
- "--platform=linux/arm64/v8"
59+
docker_manifests:
60+
## Docker Hub
61+
- name_template: docker.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}
62+
image_templates:
63+
- docker.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-arm64v8
64+
- docker.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-amd64
65+
66+
- name_template: docker.io/percona/mongodb_exporter:{{.Version}}
67+
image_templates:
68+
- docker.io/percona/mongodb_exporter:{{.Version}}-arm64v8
69+
- docker.io/percona/mongodb_exporter:{{.Version}}-amd64
70+
## GHCR
71+
- name_template: ghcr.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}
72+
image_templates:
73+
- ghcr.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-arm64v8
74+
- ghcr.io/percona/mongodb_exporter:{{.Major}}.{{.Minor}}-amd64
75+
76+
- name_template: ghcr.io/percona/mongodb_exporter:{{.Version}}
77+
image_templates:
78+
- ghcr.io/percona/mongodb_exporter:{{.Version}}-arm64v8
79+
- ghcr.io/percona/mongodb_exporter:{{.Version}}-amd64
4380
nfpms:
4481
- file_name_template: "{{ .ProjectName }}-{{ .Version }}.{{ .Os }}-{{ .Arch }}"
4582
homepage: https://www.percona.com/

0 commit comments

Comments
 (0)