Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/gpu-runner/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ ENV DEBIAN_FRONTEND=noninteractive \
RUNNER_ALLOW_RUNASROOT=1 \
UV_PYTHON_INSTALL_DIR=/opt/uv/python

# gcc/libc6-dev: triton >=3.7 JIT-compiles launcher stubs at runtime and
# needs a host C compiler (same reason the conversion image ships gcc).
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl git jq tar \
ca-certificates curl git jq tar gcc libc6-dev \
&& rm -rf /var/lib/apt/lists/*

COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin/
Expand All @@ -23,7 +25,7 @@ RUN mkdir /runner && cd /runner \
&& rm -rf /var/lib/apt/lists/*

# Bake the interpreter so job-time `uv sync` only resolves wheels.
RUN uv python install 3.11
RUN uv python install 3.12

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/gpu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,20 @@ jobs:

- name: Sync deps (cu129 lock)
id: sync
run: uv sync --extra dev --extra torch --extra images
# Pin the interpreter to the fleet floor: without this, a runner whose
# baked python predates requires-python makes uv download the newest
# CPython (3.14 incident, gw#502).
run: uv sync --python 3.12 --extra dev --extra torch --extra images

# triton >=3.7 JIT-compiles launcher stubs at runtime and needs a host
# C compiler. Baked into the runner image; the apt fallback covers pods
# booted from a pre-gcc image (rebuild races this same push).
- name: Ensure C compiler (triton JIT)
run: |
command -v cc >/dev/null 2>&1 || {
apt-get update -qq
apt-get install -y -qq --no-install-recommends gcc libc6-dev
}

- name: Run tests
run: uv run --extra dev --extra torch --extra images pytest tests/ -q --junitxml=gpu-junit.xml
Expand Down
Loading