Skip to content
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

Open
rarkins opened this issue Jan 27, 2025 · 0 comments
Open

Support uv workspaces #33874

rarkins opened this issue Jan 27, 2025 · 0 comments
Labels
manager:pep621 Python pyproject.toml files priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)

Comments

@rarkins
Copy link
Collaborator

rarkins commented Jan 27, 2025

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's uv.lock file.

Here's the layout of a typical uv project using workspaces:

albatross
├── packages
│   ├── bird-feeder
│   │   ├── pyproject.toml
│   │   └── src
│   │       └── bird_feeder
│   │           ├── __init__.py
│   │           └── foo.py
│   └── seeds
│       ├── pyproject.toml
│       └── src
│           └── seeds
│               ├── __init__.py
│               └── bar.py
├── pyproject.toml
├── README.md
├── uv.lock
└── src
    └── albatross
        └── main.py

Note how there is a single uv.lock file, but multiple pyproject.toml. Dependencies of member packages in a workspace are locked in the top-level uv.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 corresponding uv.lock file in the same directory?

AFAIK, the right solution is to run uv lock in the workspace root.

Logs (if relevant)

Logs

Replace this text with your logs, between the starting and ending triple backticks

Reproduction forked to https://github.com/renovate-reproductions/33275

@rarkins rarkins added manager:pep621 Python pyproject.toml files priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality) labels Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
manager:pep621 Python pyproject.toml files priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)
Projects
None yet
Development

No branches or pull requests

1 participant