Files
team/memory/ci-cd-experience.md
2026-04-19 21:47:08 +08:00

34 lines
1.1 KiB
Markdown

---
name: CI/CD 经验
description: Python 版本固定、工具版本一致性、Ruff 忽略规则等 CI/CD 相关经验
type: reference
---
# CI/CD 经验
## Python 版本固定
- 使用 `.python-version` 文件固定 Python 版本,确保 CI 和本地开发环境一致
- uv 会自动读取 `.python-version`
- 文件格式:单行版本号,如 `3.12.13`
## 工具版本一致性
- **Server 和 Desktop 的 `pyproject.toml` 必须保持工具版本一致**
- 当前统一版本:
- mypy: `>=1.19.1`
- ruff: `>=0.15.7`
- pytest: `>=9.0.2`
- 过于宽松的版本约束(如 `ruff>=0.2.0`)会导致 CI 检查结果与本地不一致
## Ruff 忽略规则分析
| 风险级别 | 规则 | 建议 |
|---------|------|------|
| 高 | RUF012 (可变类属性) | 应修复,使用 `ClassVar` 注解 |
| 高 | ARG001-005 (未使用参数) | Qt signal handler 场景可忽略 |
| 中 | I001 (导入排序) | 风格问题,可忽略 |
| 低 | RUF001 (中文字符) | 中文注释场景合理忽略 |
| 低 | TC001-003 (TYPE_CHECKING) | 仅影响导入优化,可忽略 |
| 低 | UP042, UP046 (类型语法) | Python 3.12 新语法,可忽略 |