From 0e7a310f7123d020cc8c53633c276d7dc47d1f57 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:43:32 -0700 Subject: [PATCH 1/2] build(make): install the unit-test CI groups and extras in make bootstrap --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a7a12a8635a..57365371e08 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,8 @@ install-dev: # Deliberately unqueued: provisioning is I/O bound, so it doesn't need one of the # machine-wide slots the CPU-bound gates below share. bootstrap: - $(UV) sync --inexact --frozen --extra proxy --group proxy-dev --group e2e-dev + $(UV) sync --inexact --frozen --group ci --group proxy-dev --group e2e-dev --extra google --extra proxy \ + --extra semantic-router --extra saml --extra caching --extra extra_proxy --extra proxy-runtime --extra utils $(UV_RUN) python scripts/prisma_generate_if_needed.py cd ui/litellm-dashboard && ../../scripts/with_dashboard_node.sh npm install --no-audit --no-fund @main_root=$$(git worktree list --porcelain | head -1 | sed 's/^worktree //'); \ From 622d018f564462a7e6ae40c0ed01e2bf5e776f0e Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Mon, 19 Oct 2026 07:18:34 -0700 Subject: [PATCH 2/2] build(make): build make bootstrap venvs on CI's Python 3.12 --- Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 57365371e08..f64594c080f 100644 --- a/Makefile +++ b/Makefile @@ -61,6 +61,7 @@ help: UV := uv UV_RUN := $(UV) run --no-sync +CI_PYTHON := 3.12 BASE_REF ?= export BASE_REF RESOLVE_BASE = python3 scripts/default_branch.py --base "$(BASE_REF)" @@ -89,7 +90,7 @@ install-dev: # Deliberately unqueued: provisioning is I/O bound, so it doesn't need one of the # machine-wide slots the CPU-bound gates below share. bootstrap: - $(UV) sync --inexact --frozen --group ci --group proxy-dev --group e2e-dev --extra google --extra proxy \ + $(UV) sync --python $(CI_PYTHON) --inexact --frozen --group ci --group proxy-dev --group e2e-dev --extra google --extra proxy \ --extra semantic-router --extra saml --extra caching --extra extra_proxy --extra proxy-runtime --extra utils $(UV_RUN) python scripts/prisma_generate_if_needed.py cd ui/litellm-dashboard && ../../scripts/with_dashboard_node.sh npm install --no-audit --no-fund @@ -283,10 +284,10 @@ pre-commit: test-rust-extension: @temporary=$$(mktemp -d) && \ trap 'rm -rf "$$temporary"' EXIT HUP INT TERM && \ - $(UV) build --python 3.12 --wheel --out-dir "$$temporary/wheels" && \ + $(UV) build --python $(CI_PYTHON) --wheel --out-dir "$$temporary/wheels" && \ set -- "$$temporary"/wheels/*.whl && \ [ "$$#" -eq 1 ] && \ - UV_PROJECT_ENVIRONMENT="$$temporary/venv" $(UV) sync --python 3.12 --frozen --no-install-project --all-groups --all-extras && \ + UV_PROJECT_ENVIRONMENT="$$temporary/venv" $(UV) sync --python $(CI_PYTHON) --frozen --no-install-project --all-groups --all-extras && \ $(UV) pip install --python "$$temporary/venv/bin/python" --no-deps "$$1" && \ "$$temporary/venv/bin/python" -I -m mypy.stubtest \ --mypy-config-file tests/unit/rust_bridge/stubtest.ini \