-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support uv
workspaces
#33874
Comments
I'm struggling with a similar scenario using the Poetry manager, where I have path-dependencies from the top-level As I'm working with a self-hosted system, I unsuccessfully tried a couple of workarounds: I can create symlinks from I tried adding Here would be my ideal Renovate algorithm for both Poetry and uv:
For example, in the updater code for uv, we currently have: renovate/lib/modules/manager/pep621/processors/uv.ts Lines 116 to 122 in 0875ee9
Instead of looking up the sibling file name, this should be a sibling lockfile (if it exists) or an inherited lockfile per the workspace/path relationships. Similarly in the code that attempts an update: renovate/lib/modules/manager/pep621/processors/uv.ts Lines 152 to 159 in 0875ee9
The re-locking may have to be done relative to the renovate/lib/modules/manager/pep621/processors/uv.ts Lines 176 to 182 in 0875ee9
Equivalent changes would apply to the Poetry manager. |
Discussed in #33275
Originally posted by kkom December 25, 2024
How are you running Renovate?
A Mend.io-hosted app
If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.
No response
Please tell us more about your question or problem
When using the
uv
workspaces feature, Renovate-generated PRs do not update the workspace'suv.lock
file.Here's the layout of a typical
uv
project using workspaces:Note how there is a single
uv.lock
file, but multiplepyproject.toml
. Dependencies of member packages in a workspace are locked in the top-leveluv.lock
file, but Renovate fails to update it when bumping versions.Perhaps Renovate isn't workspace-aware and assumes that each
pyproject.toml
should have a correspondinguv.lock
file in the same directory?AFAIK, the right solution is to run
uv lock
in the workspace root.Logs (if relevant)
Logs
Reproduction forked to https://github.com/renovate-reproductions/33275
The text was updated successfully, but these errors were encountered: