# BUILD_CONTEXT=.
# BUILD_PLATFORMS=linux/amd64
FROM nvidia/cuda:12.9.0-devel-ubuntu24.04@sha256:632c7db01c6a392f1a4a51b575ee1c125d19e7656de83a285ac222fc35b80606

ENV DEBIAN_FRONTEND=noninteractive
ENV UV_LINK_MODE=copy
ENV UV_PYTHON=3.12.12
ENV UV_PROJECT_ENVIRONMENT=/workspace/venv
ENV PYTHONUNBUFFERED=1

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    ca-certificates \
    curl \
    git \
    ninja-build \
    && rm -rf /var/lib/apt/lists/*

COPY --from=ghcr.io/astral-sh/uv:0.12.5@sha256:e85be844203885286c60ffad8a858d48afb6c5a5c237ca0e67f12e74b8f174b1 /uv /usr/local/bin/uv

# This standalone project is updated only when publishing a new image.
WORKDIR /opt/uv-project/kernelbench
COPY src/inspect_evals/kernelbench/sandbox/pyproject.toml src/inspect_evals/kernelbench/sandbox/uv.lock ./
RUN uv sync --locked --no-dev --no-install-project

WORKDIR /workspace
ENV PATH="/workspace/venv/bin:${PATH}"

RUN mkdir -p /workspace/eval_runner /workspace/kernelbench_build /workspace/kernelbench_tmp /workspace/kernelbench_cache

ENV TMPDIR=/workspace/kernelbench_tmp
ENV XDG_CACHE_HOME=/workspace/kernelbench_cache
