From 5e3b216dfb3a05d7014166c9eb08d02204aac5cc Mon Sep 17 00:00:00 2001 From: namrata-ibm Date: Mon, 30 Aug 2021 09:26:29 -0400 Subject: [PATCH] Building multiarch docker image: amd, s390x --- Dockerfile | 2 -- releasing/do-release.sh | 13 ++++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index a2c22bc..1fe3fc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,8 +11,6 @@ COPY cmd /tmp/fullstorydev/grpcurl/cmd # and build a completely static binary (so we can use # scratch as basis for the final image) ENV CGO_ENABLED=0 -ENV GOOS=linux -ENV GOARCH=amd64 ENV GO111MODULE=on RUN go build -o /grpcurl \ -ldflags "-w -extldflags \"-static\" -X \"main.version=$(cat VERSION)\"" \ diff --git a/releasing/do-release.sh b/releasing/do-release.sh index ab345d0..3a92728 100755 --- a/releasing/do-release.sh +++ b/releasing/do-release.sh @@ -40,12 +40,15 @@ $PREFIX git checkout go.mod go.sum # if there are no valid current credentials. $PREFIX docker login echo "$VERSION" > VERSION -$PREFIX docker build -t "fullstorydev/grpcurl:${VERSION}" . -rm VERSION + +# Enable qemu and binfmt support +$PREFIX docker run --privileged --rm tonistiigi/binfmt:qemu-v6.1.0 --install all +# Create a new builder instance +export DOCKER_CLI_EXPERIMENTAL=enabled +$PREFIX docker buildx create --use --name multiarch-builder # push to docker hub, both the given version as a tag and for "latest" tag -$PREFIX docker push "fullstorydev/grpcurl:${VERSION}" -$PREFIX docker tag "fullstorydev/grpcurl:${VERSION}" fullstorydev/grpcurl:latest -$PREFIX docker push fullstorydev/grpcurl:latest +$PREFIX docker buildx build --platform linux/amd64,linux/s390x --tag fullstorydev/grpcurl:${VERSION} --tag fullstorydev/grpcurl:latest --push --progress plain --no-cache . +rm VERSION # Homebrew release