chore(renovate): switch to pep621 manager (uv-managed projects)#43
Conversation
This repo manages dependencies with uv (uv.lock present) but renovate.json declared "enabledManagers": ["poetry", "github-actions"]. Renovate's enabledManagers is replace-not-merge, so the poetry manager was attempting to parse pyproject.toml's [project.dependencies] table, which it doesn't understand, and silently produced zero PRs. Changes: enabledManagers poetry -> uv, packageRules matchManagers poetry -> uv, removed top-level poetry block and poetryMassage postUpdateOption.
|
Warning Review limit reached
More reviews will be available in 42 minutes and 59 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy 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
Updates Renovate configuration to correctly detect and update Python dependencies in this repository, which uses uv/PEP 621 ([project] + uv.lock) rather than Poetry.
Changes:
- Switched Renovate
enabledManagersfrompoetrytouv(keepinggithub-actions). - Updated Python-related
packageRulesto match theuvmanager instead ofpoetry. - Removed Poetry-specific configuration (
poetrymanager block andpoetryMassagepost-update option).
Renovate 42.92.x has no standalone "uv" manager. The previous commit added "uv" to enabledManagers, which rejects the entire config with "Config validation errors found: ... not supported: uv". The correct manager for uv-managed Python projects is pep621 (reads PEP 621 [project.dependencies] from pyproject.toml). uv.lock regeneration is handled by RENOVATE_BINARY_SOURCE=install in the global Renovate env. See homelab-infra PR #309/#314 (May 2026) where this exact mistake was made and reverted previously.
|
Amended to use |
The pep621 Renovate manager emits depType values:
- project.dependencies
- dependency-groups
- tool.uv.dev-dependencies
Not the values used by other managers ("dependencies", "devDependencies",
"dev"). PackageRules using the wrong depType silently no-op, same class
of silent-failure bug as the "uv" manager trap from this remediation
campaign. CodeRabbit flagged this on PR #190 with an authoritative diff.
See standards manifest TOOL-014 (added 2026-05-24).
|
Added fix(renovate): correct matchDepTypes for pep621 (see TOOL-014). Validator still clean. |
Resolves the Changelog Check supplemental gate which requires an entry in CHANGELOG.md under [Unreleased] for any non-trivial change. The renovate.json swap from poetry to pep621 is the substantive change on this branch. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|



Summary
This repo manages dependencies with uv (
uv.lockpresent), butrenovate.jsondeclared:Renovate's
enabledManagersis replace-not-merge, so the global config does not fill inuv. Thepoetrymanager tries to parsepyproject.toml's[tool.poetry.dependencies]table, but uv projects declare deps under[project.dependencies]. Result: Renovate silently parses zero Python deps and produces no PRs.Changes
enabledManagers:poetry->uvpackageRules[*].matchManagers:poetry->uv"poetry": { ... }block"poetryMassage"frompostUpdateOptionsTest plan