diff --git a/Dockerfile b/Dockerfile index 8f1ff9b..bd2df22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,13 @@ +FROM vato.ddns.net:8083/debian:buster AS CGRPC_BUILDER + +ARG CGRPC_VERSION=v1.33.2 + +RUN apt update -y && apt install git build-essential autoconf libtool pkg-config zlib1g-dev -y + +RUN git clone -b ${CGRPC_VERSION} --recursive https://github.com/grpc/grpc + +RUN cd grpc && make plugins -j 12 + FROM vato.ddns.net:8083/alpine ARG ARCH=x86_64 @@ -22,3 +32,5 @@ RUN rm protoc-gen-grpc-web-*.sha256 && \ chmod +x /usr/bin/protoc-gen-grpc-web COPY ./protoc-gen-* /usr/bin/ + +COPY --from=CGRPC_BUILDER /grpc/bins/opt/grpc_python_plugin /usr/bin/protoc-gen-grpc-python diff --git a/README.md b/README.md index e09aee9..2a03c0d 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,6 @@ Docker container for generating protobuf code. Right now used in CI only for oth ## TODOS -- Build the swift plugins inside this repo, rather than committing the built plugins +- Build the swift plugins inside the dockerfile, rather than committing the built plugins +- Build the grpc-web plugins in the dockerfile, rather than downloading built versions +- Use CMake/Bazel for building the grpc plugins - [CMake dockerfile](https://hub.docker.com/r/kitware/cmake) \ No newline at end of file