From 5f1fa496c1b9f86b89b5fe511c19340da483d90b Mon Sep 17 00:00:00 2001 From: Maxim Babichev Date: Wed, 17 Jul 2024 20:39:55 +0300 Subject: [PATCH] fix --- Dockerfile | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 16941073..d0e0130f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,9 @@ FROM golang:1.22-alpine3.20 AS builder RUN go install -v -ldflags "-s -w" google.golang.org/protobuf/cmd/protoc-gen-go@latest &&\ go install -v -ldflags "-s -w" google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest -COPY . /go/src/github.com/bavix/gripmock +COPY . /src -WORKDIR /go/src/github.com/bavix/gripmock/protoc-gen-gripmock +WORKDIR /src/protoc-gen-gripmock RUN go install -v -ldflags "-s -w" @@ -19,12 +19,17 @@ RUN apk --no-cache add git curl unzip \ && if [ $TARGETARCH = "arm64" ]; then export DL_ARCH=aarch_64 ; fi \ && curl -f -L -o /tmp/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-${DL_ARCH}.zip \ && unzip /tmp/protoc.zip && rm /tmp/protoc.zip \ - && mv bin/protoc /usr/bin && rm -rf bin \ - && mv include /usr/include &&rm -rf include &&\ + && mv bin/protoc /usr/bin && rm -rf bin include \ + && mkdir -p /usr/include \ + # cloning well-known-types + && git clone --depth=1 https://github.com/protocolbuffers/protobuf.git /protobuf-repo \ + && mv /protobuf-repo/src/ /usr/include/protobuf/ \ # cloning googleapis-types - git clone --depth=1 https://github.com/googleapis/googleapis.git /usr/include/googleapis &&\ + && git clone --depth=1 https://github.com/googleapis/googleapis.git /usr/include/googleapis \ # cleanup - find /usr/include/googleapis -not -name "*.proto" -type f -delete + && rm -rf /protobuf-repo \ + && find /usr/include/protobuf -not -name "*.proto" -type f -delete \ + && find /usr/include/googleapis -not -name "*.proto" -type f -delete FROM golang:1.22-alpine3.20 @@ -35,14 +40,14 @@ LABEL org.opencontainers.image.licenses=Apache-2.0 ARG version COPY --from=protoc-builder /usr/bin/protoc /usr/bin/protoc -COPY --from=protoc-builder /usr/include/google /protobuf +COPY --from=protoc-builder /usr/include/protobuf /protobuf COPY --from=protoc-builder /usr/include/googleapis /googleapis COPY --from=builder $GOPATH/bin/protoc-gen-go $GOPATH/bin/protoc-gen-go COPY --from=builder $GOPATH/bin/protoc-gen-go-grpc $GOPATH/bin/protoc-gen-go-grpc COPY --from=builder $GOPATH/bin/protoc-gen-gripmock $GOPATH/bin/protoc-gen-gripmock -COPY . /go/src/github.com/bavix/gripmock +COPY --from=builder /src /go/src/github.com/bavix/gripmock WORKDIR /go/src/github.com/bavix/gripmock