SuperAPI AI 工具集

bump-sentry-dependency

编程与开发

查看项目

更新于 10-15 21:51

技能介绍

用途:这个技能用于升级 getsentry/sentry 仓库中已有的 Python 依赖,优先走仓库自带的 .github/workflows/bump-version.yml,而不是在本地手改 pyproject.toml 和 uv.lock。工作流只会在产生 diff 时创建非草稿 PR,不会审批或合并。不适用于新依赖、JavaScript 包、其他仓库或纯咨询问题。

使用前先做无副作用的预检:确认目标包存在于 pyproject.toml 的 [project].dependencies 或 dev 依赖组;确定精确的目标版本,若用户说 latest 要先确定意图中的稳定版本;检查是否已存在 bot/bump-version/<package>/<version> 分支的 PR,有则复用并报告,避免重复派发。

派发工作流是外部副作用,会启动 GitHub Actions 任务并通常开启 PR,因此“升级包 X”本身不构成明确批准,除非用户已明确要求运行,否则需先询问并等待确认。批准本次派发不等于批准修改 getsentry/pypi、审批 PR、启用自动合并或合并 PR。

获得批准后执行:gh workflow run bump-version.yml --repo getsentry/sentry --field package=<package> --field version=<version>。除非用户明确要求,否则省略 pr_options。用返回的 run URL/ID 跟踪:gh run watch <run-id> --repo getsentry/sentry --exit-status。仅在 GitHub 未返回运行详情时,才回退到 gh run list,并按该工作流、workflow_dispatch、已认证用户和派发时间过滤。

若运行成功,按 bot 分支找到 PR,确认改动文件仅为 pyproject.toml 和 uv.lock 且依赖变更符合预期,再报告 run URL、PR URL、当前 CI 状态与评审状态。不要无限等待人工评审,PR 合并前不得称依赖已落地。若成功但没有 PR,查看日志,通常说明仓库已满足目标版本。

失败时用 gh run view <run-id> --repo getsentry/sentry --log-failed 排查。工作流会对解析器失败重试约 20 分钟;失败后要区分内部 PyPI 发布缺失与依赖冲突,镜像 PR 无法修复不兼容的依赖集合。修改 getsentry/pypi 属于另一项外部副作用,需先说明原因并获得单独明确批准。