Skip to content

添加最小 Python Pull Request CI #25

Open

Description

@rojim666

背景

仓库已有明确的 Python 验证命令和锁定依赖,但目前没有 .github/workflows/,Pull Request 无法自动发现 lint、类型检查、单元测试或协议文档不同步。为首次贡献建立一个最小且快速的 CI,可以让提交者在合并前获得一致反馈。

建议范围

新增一个 GitHub Actions 工作流,仅覆盖 Python 快速检查:

  • 在 Pull Request 和推送到 main 时触发。
  • 使用仓库要求的 Python 3.12。
  • 安装 uv 并执行 uv sync --frozen。
  • 依次运行 Ruff、mypy、单元测试和协议生成检查。
  • 为 uv 与 Python 依赖启用合理缓存。
  • 设置最小 contents: read 权限。

建议命令:

uv run ruff check src tests scripts
uv run mypy src
uv run pytest tests/unit -q
uv run python scripts/gen_protocol_doc.py --check

验收标准

  • 新增 .github/workflows/python-ci.yml(名称可调整)。
  • Pull Request 与 main 分支 push 会触发工作流。
  • 工作流固定 Python 3.12,并使用 uv.lock 的冻结安装。
  • 四项检查全部执行;任一失败会使 Job 失败。
  • workflow permissions 为只读,不暴露或依赖仓库 Secret。
  • 配置并发取消,使同一 PR 的旧运行可被新提交替代。
  • 在 PR 中附一次成功运行链接或截图。

非目标

  • 不运行真实模型 API 测试。
  • 不运行桌面端 Playwright、Tauri 构建或发布流程。
  • 不修改现有测试以迁就 CI 环境。

Activity

  1. added
    good first issue适合首次贡献,范围清晰且有维护者指导
    help wanted欢迎社区协助实现或调研
    enhancement新功能或现有能力改进
    on Aug 5, 2026
  2. neutronstar238 commented on Aug 7, 2026

    @neutronstar238
    Collaborator

    已完成该 Issue,并提交 PR #51:

    PR 已转为 Ready for review,当前无冲突且可合并,请维护者审阅。

  3. rojim666 commented on Nov 10, 2026

    @rojim666
    OwnerAuthor

    完成状态复核(main bbbe73f):虽然 #51 曾合并,当前 .github/workflows/ 仅有 desktop-linux.yml、typescript-ci.yml、website.yml,未发现本 issue 要求的独立 Python 3.12 冻结依赖安装、Ruff、mypy、单测与协议漂移完整流水线。TypeScript CI 中的 Python/Office 局部检查不等价。因此保持开放,避免仅按历史 PR 合并状态误判完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancement新功能或现有能力改进good first issue适合首次贡献,范围清晰且有维护者指导help wanted欢迎社区协助实现或调研

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions