SuperAPI AI 工具集

release

测试与质量

查看项目

更新于 10-16 03:15

技能介绍

用途:该技能用于执行 Paperclip 维护者的完整发布工作流,覆盖稳定版变更日志起草、canary 验证与发布状态确认、Docker 冒烟测试、从指定源引用手动晋升稳定版、创建 GitHub Release,以及网站与公告跟进任务。触发场景包括“do a release”“ship the release”“promote this canary to stable”“cut the stable release”。

主要能力:Paperclip 采用提交驱动的发布模型,每次推送到 master 自动发布 canary,版本形如 YYYY.MDD.P-canary.N;稳定版形如 YYYY.MDD.P,仅在手动晋升时生成 releases/vYYYY.MDD.P.md、git 标签 vYYYY.MDD.P 和 GitHub Release。技能会协调 release-changelog 起草稳定版说明、验证候选 SHA、确认 canary 发布、运行 Docker 冒烟测试、预览或发布稳定版,并创建网站更新、发布文章与社交公告等后续任务。启用 Cases 时,还会为每次稳定版发布内容生成确定性的 case 树,包括父级 release case 及 blog_post、tweet_storm 子 case。

使用方式:先确认前置条件,如 release-changelog 技能可用、工作树干净、存在候选提交、npm 发布权限可用等。选择候选后,用 ./scripts/release.sh stable --date YYYY-MM-DD --print-version 解析目标版本,运行 pnpm -r typecheck、pnpm test:run、pnpm build 验证,使用 PAPERCLIPAI_VERSION=canary ./scripts/docker-onboard-smoke.sh 做冒烟测试,再通过 .github/workflows/release.yml 的 workflow_dispatch 以 source_ref、stable_date、dry_run 输入执行稳定版发布。紧急情况下可用 ./scripts/release.sh stable --dry-run、./scripts/release.sh stable 等本地命令。

适用场景与限制:适用于 Paperclip 仓库的正式发布协调。不适用于以发布分支为默认路径、推导 major/minor/patch 版本号、创建 canary 变更日志或 canary GitHub Release。若前置条件不满足应停止并报告阻塞;冒烟测试失败应停止稳定版发布;npm 发布成功但标签或 GitHub Release 失败时不应重复发布同一版本,可用 ./scripts/rollback-latest.sh <last-good-version> 回滚 latest 并向前修复。Cases 被禁用(API 返回 403)时需操作者启用 experimental.enableCases。