跳转至

ECC 2.2.1 签名补丁版本发布运行手册

只有授权维护者才能创建或推送 v2.2.1 标签、更改 npm dist-tags,或发布 GitHub Release。

可用性模型

默认 npm 安装将保持为 ecc-universal@2.2.0,直到最终提升步骤成功。发布工作流会在 staged 标签下发布 2.2.1,回读其注册表完整性,将这些字节与通过三平台生命周期的精确归档进行比较,然后才将 latest 移动到 2.2.1。

原生 Claude marketplace 安装在整个 npm 推广期间仍保持为独立的安装路径:

/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc

切勿取消发布 2.2.0 或 2.2.1。npm dist-tags 提供可逆开关。

历史例外

v2.2.0 已经公开且必须保持不可变,即使 git tag -v v2.2.0 返回 error: no signature found。ECC-031 通过发布一个新的签名补丁版本来弥补该溯源缺口。不要移动、重新创建或重用 v2.2.0。

标签创建前的预检

  1. 2.2.1 版本准备 PR 必须已合并。
  2. 在精确合并的 main 提交上,CI 和 CodeQL 必须通过。
  3. HEAD、origin/main 和目标发布提交必须全部一致。
  4. npm view ecc-universal@2.2.1 version 必须返回 E404。任何其他 注册表错误都会阻止发布。
  5. npm view ecc-universal dist-tags --json 仍必须显示 latest: 2.2.0。
  6. 发布操作员在创建标签之前必须拥有本地可用的签名身份。

发布切换

在精确通过的准备提交上,从干净且最新的 main 检出开始:

git fetch origin main --tags
git switch main
git pull --ff-only origin main
git status --short
git rev-parse HEAD
git rev-parse origin/main

提交 ID 必须匹配,并且 git status --short 必须不输出任何内容。然后,授权维护者创建并验证签名发布标签:

git tag -s v2.2.1 -m "ECC 2.2.1" HEAD
git tag -v v2.2.1
git push origin refs/tags/v2.2.1

该标签推送是唯一的发布切换。随后工作流会:

  1. 要求标签提交等于 origin/main。
  2. 对 npm 归档打包并计算一次哈希。
  3. 在 Linux、macOS 和 Windows 上运行该精确归档。
  4. 将归档发布到 npm staged 标签,并附带溯源信息。
  5. 回读并验证注册表完整性。
  6. 原子性地将已验证版本提升到 latest。
  7. 根据已审阅的说明创建 GitHub Release。

即时金丝雀

工作流成功后:

npm view ecc-universal dist-tags --json
npm view ecc-universal@2.2.1 version dist.integrity
gh release view v2.2.1 --repo affaan-m/ECC
npx --yes ecc-universal@2.2.1 setup --help
npx --yes ecc-universal@latest setup --help

预期:

  • 精确版本和 latest 都解析为 2.2.1;
  • 注册表完整性与工作流输出匹配;
  • GitHub Release 存在并使用已审阅的说明;
  • 两个包调用都返回引导式设置帮助;
  • 原生 Claude marketplace 路径仍可安装。

将 HTTP 失败、完整性不匹配、缺少公共二进制文件或一次性安装失败视为严重问题。

回滚

如果 2.2.1 存在安装关键回归,授权 npm 所有者会立即恢复已知的可安装回退版本:

npm dist-tag add ecc-universal@2.2.0 latest
npm view ecc-universal dist-tags --json
ECC_ROLLBACK_ROOT=$(mktemp -d)
npm install --ignore-scripts --prefix "$ECC_ROLLBACK_ROOT" ecc-universal@2.2.0
node "$ECC_ROLLBACK_ROOT/node_modules/ecc-universal/scripts/ecc.js" --help
gh release edit v2.2.0 --repo affaan-m/ECC --latest

然后开启发布事故,说明在调查事故期间 2.2.1 仅可通过精确版本使用,并使用新的补丁版本向前修复。不要取消发布任何包版本,也不要重用 v2.2.1 标签。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC