diff --git a/Dockerfile b/Dockerfile index 0e7a8412bbc..910f567649c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,9 @@ RUN ls -1 dist/*.whl | head -1 RUN pip install dist/*.whl # install dependencies as wheels -RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt +# Note: a2a-sdk is explicitly included to ensure it's wheeled even with environment markers +RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "a2a-sdk>=0.3.22" # ensure pyjwt is used, not jwt RUN pip uninstall jwt -y diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index ef2bb98db6e..7216ee8328d 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -29,7 +29,9 @@ RUN ls -1 dist/*.whl | head -1 RUN pip install dist/*.whl # install dependencies as wheels -RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt +# Note: a2a-sdk is explicitly included to ensure it's wheeled even with environment markers +RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "a2a-sdk>=0.3.22" # Runtime stage FROM $LITELLM_RUNTIME_IMAGE AS runtime diff --git a/docker/Dockerfile.database b/docker/Dockerfile.database index 49655129506..60d59e15315 100644 --- a/docker/Dockerfile.database +++ b/docker/Dockerfile.database @@ -40,7 +40,9 @@ RUN ls -1 dist/*.whl | head -1 RUN pip install dist/*.whl # install dependencies as wheels -RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt +# Note: a2a-sdk is explicitly included to ensure it's wheeled even with environment markers +RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "a2a-sdk>=0.3.22" # Runtime stage FROM $LITELLM_RUNTIME_IMAGE AS runtime diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 67966f9c739..32bf8d16ee9 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -25,8 +25,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ COPY requirements.txt . # Install Python dependencies with cache mount for faster rebuilds +# Note: a2a-sdk is explicitly included to ensure it's wheeled even with environment markers RUN --mount=type=cache,target=/root/.cache/pip \ - pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt + pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "a2a-sdk>=0.3.22" # Fix JWT dependency conflicts early RUN pip uninstall jwt -y || true && \ diff --git a/docker/Dockerfile.non_root b/docker/Dockerfile.non_root index 8c795f3b17f..d9c5c6e5eb2 100644 --- a/docker/Dockerfile.non_root +++ b/docker/Dockerfile.non_root @@ -32,7 +32,7 @@ RUN for i in 1 2 3; do \ # Cache Python dependencies COPY requirements.txt . RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt \ - && pip wheel --no-cache-dir --wheel-dir=/wheels/ "semantic_router==0.1.11" "aurelio-sdk==0.0.19" "PyJWT==2.9.0" + && pip wheel --no-cache-dir --wheel-dir=/wheels/ "semantic_router==0.1.11" "aurelio-sdk==0.0.19" "PyJWT==2.9.0" "a2a-sdk>=0.3.22" # Copy source after dependency layers COPY . .