diff --git a/cmd/emulator/Dockerfile b/cmd/emulator/Dockerfile index f9899a00..6fee914e 100644 --- a/cmd/emulator/Dockerfile +++ b/cmd/emulator/Dockerfile @@ -19,21 +19,24 @@ COPY . . ARG TARGETOS ARG TARGETARCH -RUN if [ "$TARGETARCH" = "arm64" ] ; then \ - --mount=type=ssh \ + +FROM base AS build-amd64-target +RUN --mount=type=ssh \ --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ GO111MODULE=on CGO_ENABLED=1 GOOS=$TARGETOS \ - GOARCH=$TARGETARCH CC=arm-linux-gnueabi-gcc \ - go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator ; \ - elif [ "$TARGETARCH" = "amd64" ] ; then \ - --mount=type=ssh \ + GOARCH=$TARGETARCH CC=arm-gcc \ + go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator + +FROM base AS build-arm64-target +RUN --mount=type=ssh \ --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ GO111MODULE=on CGO_ENABLED=1 GOOS=$TARGETOS \ - GOARCH=$TARGETARCH CC=gcc \ - go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator ; \ - fi + GOARCH=$TARGETARCH CC=arm-linux-gnueabi-gcc \ + go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator + +FROM build-${TARGETARCH}-target AS final ## Add the binary to a fresh distroless image FROM gcr.io/distroless/static