fix(renovate): use pep621 manager instead of invalid "uv"#79
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.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughRenovate configuration files at the repository root and within the template project structure are updated to switch Python dependency management from the ChangesRenovate pep621 Configuration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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
Updates the Renovate configuration in this cookiecutter template to use the valid pep621 manager instead of the invalid uv value, preventing Renovate from discarding the config and restoring Python dependency update PRs for generated projects.
Changes:
- Switch
enabledManagersfrom"uv"to"pep621"in the rootrenovate.json. - Update the template
{{cookiecutter.project_slug}}/renovate.jsonto match Python dependency rules andenabledManagersagainst"pep621".
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| renovate.json | Replaces invalid Renovate manager "uv" with "pep621" to keep the config accepted by Renovate. |
| {{cookiecutter.project_slug}}/renovate.json | Aligns template packageRules and enabledManagers to "pep621" so generated projects get a working Renovate setup. |
|
|
Closing as superseded by the v43 cutover (Phase 2, merged 2026-05-25). Per Reference:
|



Summary
"uv"with"pep621"inenabledManagersof the template'srenovate.json.Why
Renovate v42.92.x (the homelab self-hosted version) rejects
"uv"as anenabledManagersvalue, silently discarding the entire config. Every project bootstrapped from this template was inheriting a broken config and receiving zero Renovate dependency PRs. The correct manager for uv-managed Python projects ispep621, which reads PEP 621[project.dependencies]frompyproject.toml.uv.lockregeneration is plumbed separately viaRENOVATE_BINARY_SOURCE=installin the global Renovate env.Validation
Local run of the v42-pinned validator passes:
References
feedback_renovate_uv_manager_trap.md(this trap has now recurred four times)docs/reference/renovate-architecture.md§ "Forbidden values" —"uv"in enabledManagersdocs/audits/dependency-management-improvement-plan-2026-05-24.md§ P0-2Downstream impact
After this lands, regenerate the cookiecutter for any newly bootstrapped project and the resulting
renovate.jsonwill be valid. Existing projects that were generated before this fix may still carry the broken config; those are tracked separately under the fleet sweep work.Test plan
Config validated successfullyGenerated with Claude Code
Summary by CodeRabbit