ci: pin ruff to the version in pyproject dev extra - #756
Conversation
The lint job ran `uvx ruff` unpinned, so it silently tracked the latest release while the repo pins ruff==0.15.21 in [dev]. Ruff 0.16.0 began formatting Python code blocks inside Markdown, which flags 26 docs files and fails lint on every open PR regardless of its contents. Pinning to the same version pre-commit uses makes CI reproducible and puts ruff upgrades back under dependabot's control, where the docs reformat can land as a reviewed change alongside the bump. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 58 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ 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 |
Problem
The lint job runs
uvx ruffunpinned, so it silently tracks whatever ruff released most recently — while the repo pinsruff==0.15.21in[dev](which is what pre-commit and local runs use).Ruff 0.16.0 shipped recently and began formatting Python code blocks inside Markdown. That flags 26 docs files and fails
linton every open PR regardless of its contents — #755, #754 and #753 are all red on this, and sincelintgatestest, everything downstream isskipping.Verified on a clean checkout, same tree, two ruff versions:
checkformat --checkZero Python files are flagged either way — this is entirely the new Markdown behaviour.
Change
Pin the lint job to the same ruff the
devextra specifies, via aRUFF_VERSIONenv var alongside the existingPYTHON_VERSION.setup-uvis already pinned to0.10.9in this workflow, so this matches the surrounding convention.Follow-up
This deliberately does not reformat the docs. Adopting 0.16.0 should happen through dependabot #752 (
ruff 0.15.21 → 0.16.0), where the 26-file docs reformat can land as a reviewed change together with the bump, andRUFF_VERSIONupdated in the same PR.🤖 Generated with Claude Code