ci(codspeed): re-enable benchmarks on litellm_internal_staging - #32340
Conversation
|
|
Greptile SummaryRe-enables CodSpeed benchmarks on
Confidence Score: 5/5Safe to merge — the change is a two-line branch-filter addition and a one-line timeout bump in a CI workflow file with no application code touched. Both modifications are mechanical and low-risk: adding a branch name to a trigger list and increasing a job timeout. All GitHub Actions are pinned to immutable SHAs, persist-credentials: false is in place, and the concurrency group with cancel-in-progress: true prevents queue pile-up even at the higher timeout. The PR description gives concrete timing evidence (21-minute callgrind runs vs. 15-minute cap) that fully justifies the timeout change. No files require special attention.
|
| Filename | Overview |
|---|---|
| .github/workflows/codspeed.yml | Adds litellm_internal_staging to push/pull_request branch triggers and raises timeout-minutes from 15 to 60; no logic changes, all actions remain pinned to verified SHAs. |
Reviews (2): Last reviewed commit: "ci(codspeed): raise benchmark job timeou..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
4c16a0e to
75ade87
Compare
|
@greptileai please review the current head 34a3f42 (rebase onto staging after #32339 merged, plus a one-line timeout-minutes raise from 15 to 60; the staging suite takes ~21 minutes under callgrind instrumentation so the old 15 minute cap cancelled every run) |
Relevant issues
Linear ticket
Resolves LIT-4118
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
@greptileaito re-request a review after pushing changes)Delays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
Screenshots / Proof of Fix
#31746 disabled CodSpeed on litellm_internal_staging because unpinned
ubuntu-latestrunners put BASE and HEAD on different machines, so CodSpeed reported "Different runtime environments detected" and sub-millisecond runner noise on 3-4 ms benchmarks flip-flopped results by 25-30% (for example the -25.2% false regression on #31684, which had no LLM code changes). The same commit that disabled the staging triggers also pinned the runner toubuntu-24.04, which removes that noise source: CodSpeed runs in simulation mode (instruction counting), which is deterministic on a fixed runner image, so the flapping cannot recur once BASE and HEAD are both measured on the pinned imageThe first push run after this merges re-baselines litellm_internal_staging on the pinned runner, so comparisons are clean from the first post-merge PR onward
Update: #32339 has merged and this branch is rebased on top of it, so the benchmarks job on this PR now runs against fixed code. Original note kept for context: #32339 fixes the fastapi import leak from #31576 that has failed every CodSpeed run since Jul 2 (
ModuleNotFoundError: No module named 'fastapi'intest_completion_with_tools); re-enabling before it lands would bring the staging red X's straight back. With that fix applied, the exact command the workflow runs passes locally on this branch:The job timeout is raised from 15 to 60 minutes because the staging suite runs much longer under CodSpeed's callgrind instrumentation than main's (~2 minute) runs; at 15 minutes the job was cancelled mid-measurement on every staging merge ref. The first completed run will show per-benchmark instruction counts on the CodSpeed dashboard, which pinpoints what grew on staging relative to main; the timeout can be tightened again once that is understood
Type
🚄 Infrastructure
Changes
Restores the litellm_internal_staging push and pull_request triggers in
.github/workflows/codspeed.ymlthat #31746 removed, reverting the temporary disable now that its stated blocker (unpinned-runner noise) is fixed by theubuntu-24.04pin from that same PR