SuperAPI AI 工具集

release

部署与运维

查看项目

更新于 10-16 01:08

技能介绍

用途:该技能编排 nurb 的完整发布流程,让 PyPI 包、签名 DMG、应用内更新源和站点更新日志共用同一版本号。唯一需要人工完成的操作是合并版本升级 PR,合并即用户批准发布。

主要能力与步骤: 1)预检。须全部通过:gh auth status、test -f desktop/.env、test -f ~/.tauri/nurb-desktop.key、security find-identity -v -p codesigning | grep -q "Developer ID Application"、git fetch origin main。更新密钥最关键,缺失时已发布应用无法更新,必须停止并告知用户,绝不重新生成。须从最新的 origin/main 开始;若当前分支已有在途工作,升级与变更日志随该分支,其 PR 即发布 PR;仅在工作区干净且只是收集已合并工作时才新建分支。 2)选版本。用户指定则采用,否则读取上次发布后合并的内容并建议版本号:新能力建议 minor,仅修复与打磨建议 patch,并用一句话说明理由。 3)发布 PR。四处版本号需同步:uv version X.Y.Z;src/nurb/skill.md 与 skills/nurb/SKILL.md 的 version 前置字段;desktop/src-tauri/tauri.conf.json 的 version。同一 PR 内写入变更日志(运行 /changelog,用待发布版本)。推送前运行 uv run pytest tests/test_cli.py -q 验证一致性,提交升级与日志,推送并以发布摘要为正文对 main 开 PR,然后停下交给用户合并。 4)合并后。publish.yml 自动响应合并:上传 PyPI、打 tag vX.Y.Z、生成 GitHub release。不必等它,立即执行 cd desktop && scripts/release.sh;若 desktop/node_modules 缺失先运行 npm ci,否则会以 tauri: command not found 失败。约十分钟完成签名构建、公证、装订、链校验、上传 nurb.dmg 与更新包、刷新 desktop-latest 源,且不会重复上传,失败可安全重跑。此步需要本机,签名证书与更新密钥按设计只在本机。 5)校验与报告。用三条探测确认版本一致(DMG 检查须返回重定向或 200)。PyPI 显示新版本后,在 Shpigford/nurb-benchmarks 检出中执行 uv lock 并提交小型锁文件 PR 以重新锁定基准。报告发布 URL 及各渠道现状;若有探测不一致,应说明哪个渠道尚未上线,而非宣布发布完成。

限制:依赖 gh、uv、Tauri 工具链、公证与签名环境,且须在具备证书与更新密钥的 Mac 上运行;缺失预检项须停止,不得重新生成更新密钥。其他细节资料未提供。