Skip to content

Cap litellm below 1.98 on Python 3.10, report lowest-direct nightly failures, re-run CI on PR retarget - #11

Merged
DABH merged 2 commits into
mainfrom
fix/nightly-litellm-py310
Sep 10, 2026
Merged

DABH merged 2 commits into
mainfrom
fix/nightly-litellm-py310

Conversation

@DABH

@DABH DABH commented Sep 10, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • python/openai_agents: litellm 1.98.0 through 1.100.0 import typing.NotRequired, which exists only on Python 3.11+, so test_lite_llm has failed on py3.10 in both nightly lanes since 2026-09-06 (nightly: openai_agents failing (latest) #10). The fix is on litellm main but unreleased. The dev dependency now caps litellm below 1.98 on 3.10 and is unchanged on 3.11+; lift the cap once a fixed litellm ships. Lock re-resolved (litellm stays at 1.97.0).
  • scripts/ci/nightly_report.py matched the job name Python (lowest-direct, advisory) while ci.yml names the job Python (lowest-direct), so lowest-direct failures never opened an issue. Fixed, with a test that keeps the regex and the workflow job names in step.
  • ci.yml also runs on the edited pull request event: retargeting a stacked PR after its base merges fires only that event, and without it the check set stays computed against the old base (this is why PR Add OpenAI Agents MCP v2 support #6 shows stale mcp lanes).
  • python/_shared/python.mk: the lowest-direct lane never tested lowest versions. uv lock --upgrade --resolution lowest-direct records resolution-mode = "lowest-direct", and the following plain uv sync printed "Ignoring existing lockfile due to change in resolution mode: lowest-direct vs. highest" and re-resolved to the newest versions (nightly logs show openai-agents 0.19.4, mcp 1.29.1, litellm 1.98.0 under "lowest-direct"). The sync now repeats --resolution lowest-direct with --locked, so it installs the lowest lock and fails loudly if the two disagree.
  • AGENTS.md / CONTRIBUTING.md: the checks actually required on main (ci-status, Check for CODEOWNERS, opengrep/scan, one code-owner approval) and a TRANSITION(sdk-cutover) note that branch protection, the testpypi/pypi environments and the release-tag ruleset were configured by hand on 2026-09-09 for cicd-terraform to mirror.

Testing

  • python/openai_agents on CPython 3.10 with the fixed targets: make sync-lowest && make lint && make test at the genuine floors (litellm 1.83.0, mcp 1.19.0, openai 2.45.0, openai-agents 0.19.2, pydantic 2.12.2): lint clean, 216 passed, 1 skipped; make sync-latest && make test: 216 passed, 1 skipped (previously test_lite_llm failed in both lanes)
  • uv run --project scripts --locked pytest scripts/tests -q: 70 passed
  • scripts/ci/check_conventions.py: OK

Closes #10 once the nightly lanes are green again (the reporter closes it automatically).

…ailures, re-run CI on PR retarget

litellm 1.98.0 through 1.100.0 import typing.NotRequired, which exists only on 3.11+, so the nightly latest and lowest-direct lanes have failed test_lite_llm on py3.10 since 2026-09-06 (#10). The fix is on litellm main but unreleased; the 3.10 cap is lifted once a fixed release ships.

scripts/ci/nightly_report.py matched the job name 'Python (lowest-direct, advisory)' while ci.yml names the job 'Python (lowest-direct)', so lowest-direct failures never opened an issue. A new test keeps the two in step.

ci.yml now also runs on the 'edited' pull request event: retargeting a stacked PR after its base merges fires only that event, and without it the check set stays computed against the old base.

Documents the checks actually required on main and the GitHub settings configured by hand on 2026-09-09 for cicd-terraform to mirror.
@DABH
DABH requested a review from a team as a code owner September 10, 2026 05:05
uv records resolution-mode = "lowest-direct" in the lockfile, and the following plain uv sync reported "Ignoring existing lockfile due to change in resolution mode: lowest-direct vs. highest" and re-resolved to the newest versions. The lane therefore tested the same versions as the latest lane (nightly job logs show openai-agents 0.19.4, mcp 1.29.1, litellm 1.98.0 under lowest-direct). Passing the same resolution flag to uv sync, with --locked, installs the lowest lock and fails loudly if the two ever disagree again.
@DABH
DABH merged commit fc0e364 into main Sep 10, 2026
31 checks passed
@DABH
DABH deleted the fix/nightly-litellm-py310 branch September 10, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nightly: openai_agents failing (latest)

2 participants