ARG PYTHON_BASE_IMAGE=python:3.13-slim
ARG TG_BOT_PLUGIN_BUILDKIT_VERSION
FROM ${PYTHON_BASE_IMAGE} AS plugin-bundle-builder
ARG TG_BOT_PLUGIN_BUILDKIT_VERSION

WORKDIR /workspace

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
ENV PIP_PROGRESS_BAR=off
ENV PIP_ROOT_USER_ACTION=ignore

RUN for attempt in 1 2 3 4; do \
    apt-get -o Acquire::Retries=5 -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30 update \
    && apt-get -o Acquire::Retries=5 -o Acquire::http::Timeout=30 -o Acquire::https::Timeout=30 install -y --no-install-recommends \
      build-essential \
      python3-dev \
    && break; \
    if [ "$attempt" = "4" ]; then exit 1; fi; \
    rm -rf /var/lib/apt/lists/*; \
    sleep "$((attempt * 2))"; \
    done \
    && rm -rf /var/lib/apt/lists/*

RUN HTTP_PROXY= HTTPS_PROXY= NO_PROXY= \
    http_proxy= https_proxy= no_proxy= \
    ALL_PROXY= all_proxy= SOCKS_PROXY= socks_proxy= proxy= \
    sh -c 'test -n "$TG_BOT_PLUGIN_BUILDKIT_VERSION" && python -m pip install --no-cache-dir "tg-bot-plugin-buildkit==$TG_BOT_PLUGIN_BUILDKIT_VERSION"'

ENTRYPOINT ["tg-bot-plugin-buildkit"]
