Repository navigation
Use setup-uv defaults for Python and the venv - #366
Conversation
|
👋 Hello @glenn-jocher, thank you for submitting a
For more guidance, please refer to our Contributing Guide. Don't hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! 🚀 |
UltralyticsAssistant
left a comment
There was a problem hiding this comment.
🔍 PR Review
Made with ❤️ by Ultralytics Actions
Reviewed the Python setup and package-install changes in .github/workflows/links.yml and .github/workflows/tag.yml. The new setup-uv defaults and removal of --system are consistent; LGTM.
UltralyticsAssistant
left a comment
There was a problem hiding this comment.
🔍 PR Review 2
Made with ❤️ by Ultralytics Actions
No code changes since review 1; its LGTM missed that both workflows still use setup-uv@main rather than the validation branch stated in the PR. The tag workflow can fail after pushing the tag, leaving a partial release. Pin both action references to the branch while validating.
💬 Posted 1 inline comment
⚠️ HIGH.github/workflows/tag.yml:67The workflow above still usessetup-uv@main, not thesetup-uv-defaultsbranch described in the PR. While actions#915 is open, this means the new venv default is not active, so removing--systemcan makeuv pip installfail for lack of an active venv. Because this install runs after the tag is pushed, that can leave a tag published without the release step completing. Pinsetup-uvtosetup-uv-defaultsin both workflows during validation; switch back after #915 merges.
|
|
||
| - name: Install dependencies | ||
| run: uv pip install --system ultralytics-actions | ||
| run: uv pip install ultralytics-actions |
There was a problem hiding this comment.
ultralytics/actions#915 merged at 17:18 UTC (da5463a, released as 0.4.0), so setup-uv@main now carries the new defaults and this CI run exercises them. The validation commit pointing at @setup-uv-defaults was already reverted, and the PR description is updated to match.
|
|
||
| - name: Install dependencies | ||
| run: uv pip install --system ultralytics-actions | ||
| run: uv pip install ultralytics-actions |
There was a problem hiding this comment.
ultralytics/actions#915 merged at 17:18 UTC (da5463a, released as 0.4.0), so setup-uv@main now carries the new defaults and this CI run exercises them. The validation commit pointing at @setup-uv-defaults was already reverted, and the PR description is updated to match.
UltralyticsAssistant
left a comment
There was a problem hiding this comment.
🔍 PR Review 3
Made with ❤️ by Ultralytics Actions
Since review 2, the setup-uv reference concern is resolved: the upstream defaults change has merged, and the PR description reflects that. This diff removes separate Python setup and installs packages into the setup-uv venv in both workflows. No remaining issues; LGTM.
|
🎉 PR #366 has been merged—thank you, @glenn-jocher! The links and tag workflows now install dependencies into the
A practical workflow improvement that puts the change into action. |
Replaces
actions/setup-pythonwithultralytics/actions/setup-uv. By default, that action now activates a venv on the newest Python preinstalled on the runner, with no Python download. Packages install into that venv, so--systemis dropped. Jobs that pin a Python version keep the pin onsetup-uv, which uses the preinstalled copy when the runner has one.CI first ran against the
setup-uv-defaultsbranch of ultralytics/actions#915. #915 is now merged (da5463a, released as 0.4.0), sosetup-uvis back on@main, which carries the new defaults.🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
The links and tag workflows now use
setup-uvfor Python environment setup and install packages into its activated virtual environment.📊 Key Changes
actions/setup-pythonsteps from the links and tag workflows.--systemfromuv pip installcommands for requirements, codespell, andultralytics-actions.ultralytics/actions/setup-uv@main.🎯 Purpose & Impact
setup-uvvirtual environment instead of system Python; no user-facing change.