fix(mypy+ci): 清零 mypy 存量报错 + 修复 Integration Tests PG 依赖 #1637
Reference in New Issue
Block a user
Delete Branch "fix/ci-mypy-integ"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
修复内容
问题 1:mypy 存量报错清零(17 个错误)
问题 2:Integration Tests + Alembic 验证依赖宿主机 PG
run_integration_tests.sh和validate_migration.sh中detect_docker_host函数 fallback 时return 1→return 0(防止set -e杀死脚本)CI_USE_SHARED_PG从true改为false(改用临时 PG 容器,不依赖宿主机 5433 端口)不改业务逻辑
所有修复仅涉及类型标注调整、导入名修正、CI 脚本健壮性修复。
🚀 预览环境已部署
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
[apps/api/app/api/routes/templates_editor/effects.py: 41-60] 数据访问方式变更需确认默认值
p.get("category", "通用")改为对象属性p.category。这移除了原有的默认值逻辑("通用")。请确保TRANSITION_PRESET_LIBRARY中的对象模型在定义时已经为category等字段设置了默认值(例如category: str = "通用"),否则当对象属性为空时,API 返回的数据将与旧版本不一致(由 "通用" 变为None),可能导致前端显示异常。[scripts/ci/run_integration_tests.sh: 205] CI 脚本硬编码数据库凭据
DATABASE_URL中直接硬编码了postgres:postgres用户名和密码。虽然这是 CI 环境且用于本地容器,但为了保持灵活性和安全性,建议继续使用环境变量(如${CI_PG_USER}和${CI_PG_PASSWORD}),并在容器启动脚本中统一管理这些变量,避免在多处维护硬编码字符串。✅ 良好实践
packages/shared/url_security.py: 对 IP 地址进行显式str()转换,增强了代码在不同环境下的健壮性。packages/adapters/redis/session_store.py: 为可选参数添加默认值,提高了接口调用的兼容性。.gitea/workflows/ci-pipeline.yml及相关脚本:重构了 Docker 宿主机 IP 探测逻辑,去除了不稳定的 TCP 端口探测,改用网络拓扑判断,有助于提高 CI 任务启动速度和稳定性。✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好
🤖 由 AI 代码审查机器人自动生成 | 2026-09-03 02:30:21 | 模型:
🗑️ 预览环境已清理
PR #1637 已关闭或合并,对应的预览环境已被清理。