FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim

# GCC required for pyminizip
RUN apt update
RUN apt install build-essential -y

RUN --mount=type=bind,source=uv.lock,target=uv.lock \
    --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
    uv export --frozen --no-emit-workspace --no-editable -o requirements.txt && \
    uv pip install -r requirements.txt --system

WORKDIR /var/task


ENTRYPOINT [ "/var/task/lint-and-test.sh" ]
