FROM python:3.11-slim

ARG DEBIAN_MIRROR=http://mirrors.aliyun.com/debian
ARG DEBIAN_SECURITY_MIRROR=http://mirrors.aliyun.com/debian-security
ARG PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/

ENV PIP_NO_CACHE_DIR=1 \
    PYTHONUNBUFFERED=1 \
    DEBIAN_FRONTEND=noninteractive \
    PIP_INDEX_URL=${PIP_INDEX_URL} \
    PIP_TRUSTED_HOST=mirrors.aliyun.com

RUN . /etc/os-release \
 && printf 'Types: deb\nURIs: %s\nSuites: %s %s-updates\nComponents: main\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\nURIs: %s\nSuites: %s-security\nComponents: main\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n' \
    "${DEBIAN_MIRROR}" "${VERSION_CODENAME}" "${VERSION_CODENAME}" \
    "${DEBIAN_SECURITY_MIRROR}" "${VERSION_CODENAME}" \
    > /etc/apt/sources.list.d/debian.sources \
 && apt-get update \
 && apt-get install -y --no-install-recommends \
    git curl ca-certificates build-essential \
 && rm -rf /var/lib/apt/lists/*

RUN pip install -U pip setuptools wheel \
 && pip install "evalscope[opencompass,perf]" -U

WORKDIR /workspace
CMD ["bash"]
