fix(renovate): use pep621 manager instead of invalid "uv"#76
Conversation
Renovate 42.92.x rejects "uv" as an enabledManagers value, which silently disables the entire config. The correct manager for uv-managed Python projects is pep621 (reads PEP 621 [project.dependencies] from pyproject.toml). uv.lock regeneration is plumbed separately via RENOVATE_BINARY_SOURCE=install in the global Renovate env. Reference: feedback_renovate_uv_manager_trap.md, homelab-infra PR #309/#314.
|
Warning Review limit reached
Your plan includes 1 review of capacity. Refill in 59 minutes and 51 seconds. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more review capacity refills, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR fixes Renovate configuration for the template repository and generated projects by replacing the invalid uv manager with Renovate’s pep621 manager for Python dependency discovery.
Changes:
- Updates top-level Renovate
enabledManagersto usepep621. - Updates generated-project Renovate
enabledManagersand Python package rules to matchpep621.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
renovate.json |
Enables Renovate’s pep621 manager for the template repository. |
{{cookiecutter.project_slug}}/renovate.json |
Ensures generated projects use pep621 for Python dependency grouping and manager enablement. |
|



Summary
Replaces invalid
"uv"manager with"pep621"in bothrenovate.json(the template repo's own config) and{{cookiecutter.project_slug}}/renovate.json(the template body rendered into every generated project).Problem
Renovate 42.92.x has no standalone
uvmanager. WhenenabledManagers(or a packageRule'smatchManagers) contains"uv", the schema validator rejects the whole config and Renovate silently disables itself for the repository. No dependency PRs, no vulnerability alerts forwarded as updates.The correct manager for uv-managed Python projects is
pep621: it reads[project.dependencies]/[project.optional-dependencies]frompyproject.toml. Theuv.lockitself is regenerated by Renovate as an artifact, plumbed viaRENOVATE_BINARY_SOURCE=installin the global Renovate environment, no enabledManager entry required.Why this matters for the cookiecutter
Every project generated from this template since the uv migration has been producing a broken Renovate config. The audit found 350 open Dependabot alerts across the fleet, 166 directly blocked by this class of config error in repos using uv (BWCPA + williaby). Fixing the template stops the bleeding so new generated projects do not inherit the bug.
Changes
renovate.json:enabledManagers: ["uv", "github-actions"]->["pep621", "github-actions"]{{cookiecutter.project_slug}}/renovate.json:enabledManagers: ["uv", "github-actions"]->["pep621", "github-actions"]matchManagers: ["uv"]->["pep621"](Python dependency grouping rules)Validation
jq . renovate.jsonOK on both filesrenovate-config-validator --no-global renovate.jsonon the top-level config:Config validated successfully{{cookiecutter.github_username}}toplaceholder-userand running the validator. The substituted config exits non-zero, but bisection shows the cause is an unrelated pre-existing issue: thecustomManagers[].fileMatchkey was renamed tomanagerFilePatternsin newer Renovate. That issue is independent of this PR and predates it onmain. It will be addressed in a follow-up.Reference
feedback_renovate_uv_manager_trap.mdTest plan
renovate.jsonno longer contains"uv"inenabledManagersormatchManagersGenerated with Claude Code