mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-22 00:31:44 +00:00
The release pagination loop in run_daily.sh used to break the moment a page contained any v*-stable tag. GitHub's /releases endpoint orders by created_at, not semver, so a freshly-cut backport on an older series (e.g. v1.80.1-stable published today) can appear on an earlier page than a higher-versioned release (v1.83.0-stable published two weeks ago). The early-break would silently pin the cron to the stale tag because the higher-versioned release on a later page never made it into the merged set the final sort_by consumed — and the cron would publish a compatibility matrix against a stale LiteLLM version with no visible signal that anything was wrong. Keep the empty-page guard (so a quiet release feed still doesn't burn through the full 5-page cap) but drop the broken early-break. Tests live in tests/claude_code/_publisher_unit_tests/ (mirroring the existing _driver_unit_tests / _builder_unit_tests / _pr_gate_unit_tests naming convention already excluded from the PR-gate pytest run). They: - Statically assert the buggy length>0 + break combo is not in the pagination loop body. - Statically assert the empty-page guard is still in place. - Drive the actual run_daily.sh resolution snippet with a fake curl whose page 1 contains a low-version backport stable and page 2 contains the high-version stable, then assert that the high-version tag is the one resolved. This is the end-to-end regression test. Co-authored-by: Mateo Wang <mateo-berri@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_run_daily_release_pagination.py | ||