Cross-reference ruff/black/isort version pins between the two files - #9091
Cross-reference ruff/black/isort version pins between the two files#9091hjmjohnson wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughUpdated comments in Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This update only documents matching formatter and linter version pins without changing versions or hook behavior. No merge-readiness risk is identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
ae187f3 to
6eee69f
Compare
ruff, black and isort are each pinned twice: once in pyproject.toml's testing extra (the range a developer installs from) and once in .pre-commit-config.yaml (the exact rev pre-commit builds its environment from). Only black and isort carried a one-sided "keep synced" comment, in .pre-commit-config.yaml only; ruff had none anywhere. A contributor editing one pin had no in-file pointer to the other. Adds a same-line comment at each of the six pin sites naming the file holding its counterpart, so following either pin leads directly to the other. No version or behavior change. Signed-off-by: Hans Johnson <hans-johnson@uiowa.edu>
6eee69f to
6b17cd0
Compare
`versioneer.py` and `monai/_version.py` were excluded from ruff twice, independently: `.pre-commit-config.yaml`'s hook via its own `exclude:` regex, and `runtests.sh` via hardcoded `--exclude` flags on the CLI invocation. Neither read from `pyproject.toml`, so a third direct `ruff check` invocation — an editor, a one-off shell command — would lint and offer to rewrite both files: 200 violations today. `extend-exclude` in `[tool.ruff]` gives `runtests.sh`'s directory-walk invocation the same exclusion pre-commit's hook already applies, so the CLI flags there are now redundant and dropped. Independent of #9089 (which routes the same block's `ruff` calls through `PY_EXE`) — rebuilt directly off `dev` so the two PRs' diffs don't overlap. Whichever lands first, the other needs a small rebase over the same lines; neither depends on the other's content. <details> <summary>Verification</summary> - `ruff check` given the directory the way `runtests.sh` gives it (not explicit filenames) reports `All checks passed!` for the tree with the new `extend-exclude` in place, and `runtests.sh --ruff` is unaffected end to end. - Confirmed the CLI `--exclude` flag being dropped was purely additive over `extend-exclude`, not required for it to take effect: a synthetic `pyproject.toml` with only `extend-exclude` set already hid the excluded file from `ruff check .`, before any `--exclude` flag was added. - Ruff ignores config `exclude`/`extend-exclude` when handed explicit filenames instead of a directory — that's the pre-commit hook's path, already governed by its own hook-level `exclude:`, and this PR doesn't touch it. </details> <!-- provenance: claude-code session 2026-09-03, branch mono-ruff-extend-exclude off dev @ 9ea04d4 (rebuilt disjoint from #9089 per user request; previously stacked on that branch) related: split out of #9067 (closed) as one of three narrower follow-ups. Sibling: #9089 (independent, same file region), and #9091 (independent, version-pin cross-reference comments). --> Signed-off-by: Hans Johnson <hans-johnson@uiowa.edu> Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com>
ruff, black and isort are each pinned twice: once in
pyproject.toml'stestingextra (the range a developer installs from) and once in.pre-commit-config.yaml(the exactrevpre-commit builds its environment from). Only black and isort carried a one-sided "keep synced" comment, in.pre-commit-config.yamlonly; ruff had none anywhere. A contributor editing one pin had no in-file pointer to the other.Adds a same-line comment at each of the six pin sites naming the file holding its counterpart. No version or behavior change — verified
pyproject.tomlstill parses as TOML and.pre-commit-config.yamlstill parses as YAML, andpre-commit run --all-filespasses with the tree unmodified.Independent of #9089 / #9090 — different lines, no overlap; can land in any order.