Skip to content

chore(renovate): switch to pep621 manager (uv-managed projects)#43

Open
williaby wants to merge 4 commits into
mainfrom
chore/renovate-switch-to-uv-manager
Open

chore(renovate): switch to pep621 manager (uv-managed projects)#43
williaby wants to merge 4 commits into
mainfrom
chore/renovate-switch-to-uv-manager

Conversation

@williaby
Copy link
Copy Markdown
Contributor

Summary

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 global config does not fill in uv. The poetry manager tries to parse pyproject.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 -> uv
  • packageRules[*].matchManagers: poetry -> uv
  • Removed top-level "poetry": { ... } block
  • Removed "poetryMassage" from postUpdateOptions

Test plan

  • Renovate dashboard issue regenerates with Python dependency PRs after merge
  • No regression in GitHub Actions dependency PRs

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.
Copilot AI review requested due to automatic review settings May 24, 2026 18:57
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 24, 2026

Warning

Review limit reached

@williaby, we couldn't start this review because you've used your available PR reviews for now.

Your plan includes 1 review of capacity. Refill in 9 minutes and 27 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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 953b4f77-31d1-429b-8cdc-c5e7de18b827

📥 Commits

Reviewing files that changed from the base of the PR and between c0eb24a and 5d74f41.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • renovate.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/renovate-switch-to-uv-manager

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 enabledManagers from poetry to uv (keeping github-actions).
  • Updated Python-related packageRules to match the uv manager instead of poetry.
  • Removed Poetry-specific configuration (poetry manager block and poetryMassage post-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.
@williaby williaby changed the title chore(renovate): switch from poetry to uv manager chore(renovate): switch to pep621 manager (uv-managed projects) May 24, 2026
@williaby
Copy link
Copy Markdown
Contributor Author

Amended to use pep621 instead of uv. Validated locally with renovate-config-validator (Renovate 42.92.14, matching homelab-infra). See feedback_renovate_uv_manager_trap.md for context.

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).
@williaby
Copy link
Copy Markdown
Contributor Author

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>
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants