fix(ci): update wheel constraints - #1030
Conversation
📝 WalkthroughWalkthroughThe pull request updates wheel dependency pins, adds a ChangesWheel constraint maintenance
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
Signed-off-by: Ryan S <267728323+ironcommit@users.noreply.github.com>
9fa225c to
112678f
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yaml:
- Around line 1249-1250: Update the wheel-constraint generation flow around
script/compile-wheel-constraints.sh so uv pip install resolves against an
immutable package-index snapshot or equivalent deterministic resolver input,
while constraining all required dependencies rather than only litellm. Preserve
the existing git diff --exit-code validation and ensure repeated runs produce
identical .github/wheel-constraints/*.txt output.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: c4f78c87-4ca5-4fa4-8af7-d3f5bed1e828
📒 Files selected for processing (4)
.github/wheel-constraints/nemo-platform-plugin.txt.github/wheel-constraints/nemo-platform-services.txt.github/workflows/ci.yamlscript/compile-wheel-constraints.sh
🚧 Files skipped from review as they are similar to previous changes (1)
- script/compile-wheel-constraints.sh
| script/compile-wheel-constraints.sh "${RUNNER_TEMP}/wheel-constraints" | ||
| git diff --exit-code |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
rg -n -C 3 'uv pip install|--constraint|--index|--find-links|--offline|uv\.lock' \
script/compile-wheel-constraints.shRepository: NVIDIA-NeMo/nemo-platform
Length of output: 1180
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '--- compile script ---'
cat -n script/compile-wheel-constraints.sh | sed -n '1,180p'
printf '%s\n' '--- workflow context ---'
cat -n .github/workflows/ci.yaml | sed -n '1225,1260p;1960,1985p'
printf '%s\n' '--- resolver and generated-file references ---'
rg -n -C 3 'compile-wheel-constraints|wheel-constraints|LITELLM_CAP|constraints' \
.github/workflows/ci.yaml script .gitignore pyproject.toml uv.lock 2>/dev/null || trueRepository: NVIDIA-NeMo/nemo-platform
Length of output: 18398
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
import re
script = Path("script/compile-wheel-constraints.sh").read_text()
install = re.search(
r"^\s*uv pip install .*$",
script,
re.MULTILINE,
)
if not install:
raise SystemExit("uv pip install command not found")
command = install.group(0)
flags = {
name: bool(re.search(pattern, command))
for name, pattern in {
"--offline": r"\B--offline\b",
"--index": r"\B--index(?:-url)?\b",
"--find-links": r"\B--find-links\b",
"--require-hashes": r"\B--require-hashes\b",
"--constraint": r"\B--constraint\b",
}.items()
}
print("resolver command:", command)
print("resolver flags:", flags)
print("uses uv.lock:", bool(re.search(r"\buv\.lock\b", script)))
print("uses mutable package spec:", bool(re.search(r'"[^"]*\[[^"]*\]"', command)))
PY
printf '%s\n' '--- tracked generated constraints ---'
git ls-files .github/wheel-constraints
for file in $(git ls-files .github/wheel-constraints); do
printf '%s\n' "--- ${file} ---"
sed -n '1,24p' "$file"
doneRepository: NVIDIA-NeMo/nemo-platform
Length of output: 2196
Make wheel-constraint generation deterministic.
uv pip install uses a mutable package index and only constrains litellm. A new compatible release can change .github/wheel-constraints/*.txt, causing git diff --exit-code to fail wheel-constraints-lint on unrelated changes. Use an immutable index snapshot or another deterministic resolver input before relying on this required gate.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/ci.yaml around lines 1249 - 1250, Update the
wheel-constraint generation flow around script/compile-wheel-constraints.sh so
uv pip install resolves against an immutable package-index snapshot or
equivalent deterministic resolver input, while constraining all required
dependencies rather than only litellm. Preserve the existing git diff
--exit-code validation and ensure repeated runs produce identical
.github/wheel-constraints/*.txt output.
Summary by CodeRabbit
Chores
Tests