Skip to content

chore: 引入 Ruff 静态检查与测试覆盖率门槛 - #5

Merged
Comui520 merged 2 commits into
Comui520:mainfrom
wthsama:chore/ruff-ci
Sep 28, 2026
Merged

Comui520 merged 2 commits into
Comui520:mainfrom
wthsama:chore/ruff-ci

Conversation

@wthsama

@wthsama wthsama commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

背景

项目已有 CI(uv lock --check + 全量测试 + Docker 构建),建议补充静态检查与测试覆盖率门槛。

改动

  • pyproject.toml:新增 [tool.ruff] 基线(pyflakes + isort + 核心 pycodestyle + bugbear,豁免 E501/B008)与 [tool.coverage] 配置;ruff 加入 dev extra。
  • 修复存量 lint:导入排序、未使用导入、歧义变量名 l、except 中 raise 补 from。
  • .github/workflows/ci.yml:test job 增加 uv run --locked ruff check .,pytest 增加 --cov --cov-fail-under=80。
  • 同步 uv.lock。

说明

  • 暂不启用 ruff format,避免全仓库格式化的大 diff(可后续另议)。
  • 覆盖率门槛 80%(当前约 84%)。
  • 这是一份可裁剪的提案;若只想接受其中一部分(例如只要 Ruff、不要覆盖率门槛),我可以拆开。

验证

本地按 CI 同款命令:uv lock --check 通过、ruff check . 全绿、uv run --locked pytest -q --cov --cov-fail-under=80 → 205 passed,84.20%。

在 pyproject.toml 增加 [tool.ruff] 基线(pyflakes + isort + 核心 pycodestyle +
bugbear,E501/B008 暂豁免)与 [tool.coverage] 配置,并把 ruff 加入 dev extra:
项目 CI 用 uv,dev 依赖必须同步进 uv.lock。

按规则修复存量问题:导入排序、未使用导入、歧义变量名 l、except 中 raise 补
from。未启用 ruff format,避免全仓库格式化的大 diff(可另议)。

验证:uv lock --check 通过;ruff check 全绿;pytest 205 passed,覆盖率 84.20%。
在 .github/workflows/ci.yml 的 test job 中新增 ruff 步骤,并给 pytest 加
--cov --cov-fail-under=80。沿用上游 uv run --locked 写法,不新增工作流文件,
避免与现有 ci.yml 冲突。
@Comui520

Copy link
Copy Markdown
Owner

感谢你这次的完善!Ruff 静态检查和覆盖率门槛能让后续迭代更稳,也很好地接入了现有 CI。我已检查,改动没有发现问题,感谢贡献。

@Comui520
Comui520 merged commit 11f0135 into Comui520:main Sep 28, 2026
2 checks passed
@wthsama
wthsama deleted the chore/ruff-ci branch September 28, 2026 08:16
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