Skip to content

Commit ace512c

Browse files
author
Jorge Turrado Ferrero
authored
feat: Add support for ARM64 arch (#22)
1 parent 5e8a44c commit ace512c

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

.github/workflows/pull_request_docker.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
id: filter
1414
with:
1515
filters: |
16-
dockerfiles:
16+
dockerfile:
1717
- 'Dockerfile*'
1818
1919
- name: Build images
@@ -58,12 +58,14 @@ jobs:
5858
name: Validate dev-container
5959
runs-on: ubuntu-latest
6060
steps:
61+
- uses: actions/checkout@v3
62+
6163
- uses: dorny/paths-filter@v2
6264
id: filter
6365
with:
6466
filters: |
6567
dockerfile:
66-
- 'Dockerfile*'
68+
- '.devcontainer/**'
6769
6870
- name: Build images
6971
if: steps.filter.outputs.dockerfile == 'true'

.github/workflows/release.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ jobs:
4444
username: ${{ github.actor }}
4545
password: ${{ secrets.GITHUB_TOKEN }}
4646

47+
- name: Set up Docker Buildx
48+
uses: docker/setup-buildx-action@v1
49+
4750
- name: Build and push Docker image
4851
run: make publish
4952
env:

Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
FROM golang:1.17-alpine3.14 as builder
1+
FROM --platform=$BUILDPLATFORM golang:1.17-alpine3.14 as builder
22
RUN apk --no-cache add git
33
WORKDIR /go/src/build
44
COPY . .
5-
RUN export CGO_ENABLED=0 \
6-
&& mkdir -p dist \
5+
6+
# https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
7+
ARG TARGETOS
8+
ARG TARGETARCH
9+
RUN mkdir -p dist \
710
&& go mod vendor \
8-
&& go build -o dist/helm-repo-updater .
11+
&& CGO_ENABLED=0 GOOS=$(TARGET_OS) GOARCH=$(ARCH) go build -o dist/helm-repo-updater .
912

1013
FROM alpine:3.14
1114
ENV SSH_KNOWN_HOSTS="~/.ssh/known_hosts"

Makefile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,11 @@ gofumpt: $(GOBIN_TOOL)
7777

7878
.PHONY: docker-build
7979
docker-build: ## Build main image
80-
docker build -f Dockerfile -t $(IMAGE) -t $(IMAGE_LATEST) .
80+
DOCKER_BUILDKIT=1 docker build -f Dockerfile -t $(IMAGE) -t $(IMAGE_LATEST) .
8181

8282
.PHONY: publish
8383
publish: docker-build ## Publish main image
84-
docker push $(IMAGE)
85-
docker push $(IMAGE_LATEST)
84+
docker buildx build --push --platform=linux/amd64,linux/arm64 . -t $(IMAGE) -t $(IMAGE_LATEST)
8685

8786
.PHONY: docker-dev-container
8887
docker-dev-container: ## Build devcontainer image

0 commit comments

Comments
 (0)