# syntax=docker/dockerfile:1
FROM pytorch/pytorch:2.8.0-cuda12.8-cudnn9-runtime@sha256:417bd75df6365104c283ea4c1651fb3530d9eb5a4c2fafa51943cff2a94e6385
WORKDIR /tests
COPY tests/requirements-lock.txt /tmp/requirements-lock.txt
RUN python -m pip install --no-cache-dir --no-deps -r /tmp/requirements-lock.txt
COPY tests/public_data/ /tests/public_data/
COPY tests/artifact_validation.py tests/reward_policy.py tests/verifier.py tests/scoring.json tests/test.sh tests/intermediate.sh /tests/
COPY tests/gputools/ /tests/gputools/
COPY tests/reference/ /tests/reference/
COPY tests/adversarial/ /tests/adversarial/
RUN mkdir -p /app/output && PYTHONPATH=/tests python3 /tests/adversarial/artifact_validation_test.py
RUN PYTHONPATH=/tests python3 /tests/adversarial/reward_policy_cases.py
RUN PYTHONPATH=/tests python3 /tests/adversarial/grader_contract_cases.py
RUN python3 /tests/reference/generate_hidden.py \
    && PYTHONPATH=/tests python3 /tests/adversarial/fixture_separation_case.py \
    && chmod +x /tests/test.sh /tests/intermediate.sh
ENV PYTHONPATH=/tests CUBLAS_WORKSPACE_CONFIG=:4096:8
CMD ["sleep", "infinity"]
