19 lines
749 B
Docker
19 lines
749 B
Docker
FROM python:3.13-slim AS base
|
|
COPY --from=ghcr.io/astral-sh/uv:0.12 /uv /uvx /usr/local/bin/
|
|
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_NO_CACHE=1 UV_PROJECT_ENVIRONMENT=/opt/venv PATH=/opt/venv/bin:$PATH
|
|
WORKDIR /app
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN uv sync --locked --no-dev --no-install-project
|
|
COPY . .
|
|
RUN uv sync --locked --no-dev
|
|
|
|
FROM base AS check
|
|
RUN uv sync --locked && uv run pytest && uvx ruff==0.14.14 check --select F,E9,B src tests
|
|
|
|
FROM base AS runtime
|
|
ARG APP_VERSION=source
|
|
ARG APP_COMMIT=unknown
|
|
ENV APP_VERSION=$APP_VERSION APP_COMMIT=$APP_COMMIT
|
|
LABEL org.opencontainers.image.version=$APP_VERSION org.opencontainers.image.revision=$APP_COMMIT
|
|
LABEL org.opencontainers.image.source=https://git.134333.xyz/eezd/AlphaPulse
|