22 lines
869 B
Docker
22 lines
869 B
Docker
# syntax=docker/dockerfile:1
|
|||
|
|
FROM python:3.12-alpine
|
||
|
|
|
||
|
|
COPY tests/requirements.txt .
|
||
|
|
RUN --mount=type=cache,id=distsys-course-pip,target=/root/.cache/pip,sharing=locked \
|
||
|
|
pip install -r requirements.txt
|
||
|
|
|
||
|
|
ARG GRPCURL_VERSION=1.9.3
|
||
|
|
ARG GRPCURL_SHA256=a926b62a85787ccf73ef8736b3ae554f1242e39d92bb8767a79d6dd23b11d1d5
|
||
|
|
RUN apk add --no-cache curl tini \
|
||
|
|
&& curl --fail --silent --show-error --location \
|
||
|
|
"https://github.com/fullstorydev/grpcurl/releases/download/v${GRPCURL_VERSION}/grpcurl_${GRPCURL_VERSION}_linux_x86_64.tar.gz" \
|
||
|
|
--output /tmp/grpcurl.tar.gz \
|
||
|
|
&& echo "${GRPCURL_SHA256} /tmp/grpcurl.tar.gz" | sha256sum -c \
|
||
|
|
&& tar -xzf /tmp/grpcurl.tar.gz -C /usr/local/bin \
|
||
|
|
&& rm -f /tmp/grpcurl.tar.gz
|
||
|
|
|
||
|
|
COPY solution/proto/ solution/proto/
|
||
|
|
COPY tests/*.py tests/
|
||
|
|
|
||
|
|
ENTRYPOINT ["/sbin/tini", "--", "python3", "-u", "tests/main.py"]
|