fix(ci): keep source-only indexes in GPU test env resolution - #705
Conversation
The GPU setup action infers which indexes to pass to uv by matching the CUDA extra against each index name or URL. Every index predated the inference and encoded its variant one of those two ways, so the rule held. PR #664 then added the flashinfer-cubin index, which serves a single variant-agnostic https://flashinfer.ai/whl/ and is routed to packages only through [tool.uv.sources]. It matches neither branch of the rule, so it was dropped from the index list, and because the install also passes --no-sources there was nothing left to reach it. flashinfer-cubin 0.6.14 exists only on that index (PyPI stops at 0.6.13, and the /cu129 subpath does not serve the package at all), so GPU smoke and e2e both failed to resolve. Collect indexes referenced by [tool.uv.sources] for the target extra as well. This restores https://flashinfer.ai/whl/ to the index list, matching the documented manual install command. Signed-off-by: Yunfeng Zhang <yunzhang@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout. (1)
🧰 Additional context used📓 Path-based instructions (1).github/**⚙️ CodeRabbit configuration file
Files:
🔇 Additional comments (1)
WalkthroughThe GPU test environment action now reads the complete ChangesCUDA index discovery
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Greptile SummaryThis PR fixes GPU test-environment resolution by retaining variant-agnostic package indexes referenced through
Confidence Score: 5/5The PR appears safe to merge, with the source-only FlashInfer index now included in the GPU dependency-resolution path. Current GPU workflow callers use the default Important Files Changed
Reviews (1): Last reviewed commit: "fix(ci): keep source-only indexes in GPU..." | Re-trigger Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Fixes GPU smoke + e2e failing on
mainwith:Root cause
setup-gpu-test-envinfers which indexes to pass touvby matching the CUDA extraagainst each index's name or URL:
When that inference landed (#691, Aug 4 16:50 UTC) every index encoded its variant one
of those two ways, so the rule held. #664 landed 27 minutes later (17:17 UTC) and added
the first index that doesn't:
flashinfer-cubin, which serves a singlevariant-agnostic
https://flashinfer.ai/whl/and is bound to packages only through[tool.uv.sources].It matches neither branch of the rule, so it was silently dropped — and since the
install also passes
--no-sources, the sources table couldn't reach it either. BothPRs were green on their own base; the breakage exists only in the merge.
That index is the only place
flashinfer-cubin==0.6.14exists:flashinfer-cubinhttps://flashinfer.ai/whl/https://flashinfer.ai/whl/cu129https://wheels.vllm.ai/0.26.0/cu129Fix
Also collect indexes referenced by
[tool.uv.sources]for the target extra.Before / after, run against
pyproject.tomlatcu129:This matches the index set in the documented manual install command, which is why
installing by hand works today while CI does not.
Verification
Resolution flips with exactly that one index, reproducing CI's error before and
succeeding after:
mise run format-checkpasses. No dependency versions change.Pre-Review Checklist
mise run format && mise run checkOther Notes
CI-only change; no source or dependency changes. Worth noting the
index_count < 3guard did not catch this — the count stayed at exactly 3while the wrong index was dropped.
Summary by CodeRabbit