48 lines
706 B
Docker
48 lines
706 B
Docker
FROM python:3.11.5-alpine as core
|
|
|
|
RUN --mount=type=cache,target=/var/cache/apk \
|
|
apk add poetry
|
|
|
|
|
|
|
|
FROM core as build
|
|
|
|
WORKDIR /app
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
pip install poethepoet
|
|
|
|
COPY ./poetry.lock ./pyproject.toml ./poetry.toml ./
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/pypoetry \
|
|
poetry install --sync
|
|
|
|
COPY ./test ./test
|
|
COPY ./dj-embe ./dj-embe
|
|
|
|
|
|
|
|
FROM build as check
|
|
|
|
RUN poe lint
|
|
|
|
|
|
|
|
FROM build as test
|
|
|
|
RUN poe test
|
|
|
|
|
|
|
|
FROM core as run
|
|
|
|
WORKDIR /app
|
|
|
|
COPY ./poetry.lock ./pyproject.toml ./poetry.toml ./
|
|
COPY ./dj-embe ./dj-embe
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/pypoetry \
|
|
poetry install --without dev --sync
|
|
|
|
CMD poetry run python dj-embe
|