FROM python:3.12-slim AS requirements-stage

WORKDIR /tmp

COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
COPY pyproject.toml uv.lock projects/ecoindex_cli/pyproject.toml ./
RUN uv export --package ecoindex_cli --no-hashes --no-emit-workspace -o requirements.txt


FROM python:3.12-slim

ARG wheel=ecoindex_cli-2.26.0a0-py3-none-any.whl
ENV DOCKER_CONTAINER=True

WORKDIR /code

COPY --from=requirements-stage /tmp/requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt 

COPY projects/ecoindex_cli/dist/$wheel $wheel
RUN pip install --no-cache-dir $wheel

RUN playwright install chromium --with-deps

RUN rm -rf $wheel requirements.txt /tmp/dist /var/lib/{apt,dpkg,cache,log}/
