From 8907e6068c020b7f3cf45e48d7348a0471635e1e Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Thu, 13 Oct 2022 21:42:00 -0400 Subject: [PATCH 1/3] Respect docker platform by removing GOARCH from dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 83d8901..c1a0c0e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ COPY api/ api/ COPY controllers/ controllers/ # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go +RUN CGO_ENABLED=0 GOOS=linux go build -a -o manager main.go # Use distroless as minimal base image to package the manager binary # Refer to https://github.com/GoogleContainerTools/distroless for more details From e82bd43e7cc9502161b8e04ffe41135bd6134e6e Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Thu, 13 Oct 2022 22:05:38 -0400 Subject: [PATCH 2/3] Update Makefile --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5592f2c..364ce33 100644 --- a/Makefile +++ b/Makefile @@ -70,8 +70,9 @@ run: manifests generate fmt vet ## Run a controller from your host. go run ./main.go .PHONY: docker-build +DOCKER_BUILD_ARGS ?= --platform=linux/amd64 docker-build: test ## Build docker image with the manager. - docker build -t ${IMG} . + docker build -t $(IMG) . $(DOCKER_BUILD_ARGS) .PHONY: docker-push docker-push: ## Push docker image with the manager. From 7af19fb66b3f0824a3d2c73a9835ebb99776b0d0 Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Thu, 13 Oct 2022 22:18:45 -0400 Subject: [PATCH 3/3] add cache scope to speed up more than one arch --- .github/workflows/docker-build-push.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index 4cc4854..5b43b0d 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -39,7 +39,7 @@ jobs: push: ${{ github.event_name != 'pull_request' }} tags: ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:${{github.sha}}-${{matrix.arch}} cache-from: type=gha - cache-to: type=gha,mode=max + cache-to: type=gha,mode=max,scope=${{matrix.arch}} platforms: linux/${{matrix.arch}} - name: Retag sha as ref_name and push built image run: | @@ -81,4 +81,4 @@ jobs: docker manifest create --amend ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:latest ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:${{github.sha}}-$arch done docker manifest push ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:latest - docker manifest inspect ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:latest \ No newline at end of file + docker manifest inspect ${{env.DOCKER_REGISTRY}}/${{env.DOCKER_REPOSITORY}}:latest