mirror of
https://github.com/milvus-io/milvus.git
synced 2026-07-21 10:15:43 +00:00
## Summary - Add `tests/pyproject.toml` (+ `tests/.python-version`, `tests/uv.lock`) hosting a shared ruff configuration that covers all Python under `tests/` (python_client, restful_client, restful_client_v2, benchmark, scripts). uv only manages the ruff toolchain; each sub-directory keeps its own `requirements.txt` for runtime deps. - Register ruff `ruff-check` / `ruff-format` pre-commit hooks scoped to `tests/**/*.py`, so only staged new/modified code is checked locally. - Add `.github/workflows/python-lint.yaml`: on pushes to master and on PRs touching Python files under `tests/`, run `ruff check` and `ruff format --check` against **only the PR-diff changed files**. This intentionally avoids blocking on the existing baseline. This PR only lands the baseline configuration. The 316 existing `.py` files under `tests/` are untouched — no mass reformat — and will be cleaned up incrementally in follow-up PRs per sub-directory. Enabled ruff rules: `E`, `F`, `W`, `I`, `UP`. Target Python: `3.10`, line length `120`. ## Test plan - [ ] `cd tests && uv sync && uv run ruff --version` works - [ ] `uv run ruff check scripts/` and `uv run ruff format --check scripts/` run successfully - [ ] pre-commit `ruff-check` / `ruff-format` hooks fire on a modified `tests/**/*.py` - [ ] The new `Python Lint (tests/)` GitHub Actions job runs green on this PR (no `.py` under `tests/` changed, so it should short-circuit to success) - [ ] Existing CI (Code Checker, E2E, etc.) is unaffected --------- Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>