SuperAPI AI 工具集

changesets

部署与运维

查看项目

更新于 10-15 19:50

技能介绍

用途:该技能用于在 @cloudflare/sandbox 包发生对使用者可见的变化时创建 changeset,并配合仓库的发布流程生成 Version Packages PR、维护 changelog 与版本文件。稳定版与预发布产物的发布由 release orchestrator 处理。

何时创建:API 表面变化(新增方法、弃用或移除)、性能或安全特性变化、用户可见的 bug 修复,都应创建 changeset。做法是在 .changeset/ 下新建文件,例如 .changeset/your-feature-name.md,内容包含包名与 bump 类型,再写简短描述。

规则:只引用 @cloudflare/sandbox,绝不列出 @repo/shared 或 @repo/sandbox-container,这些内部包不单独版本化,其变化通过公开包体现,pre-commit 钩子与 CI 会校验。bump 类型方面,SDK 处于 beta:patch 用于所有常规变化(功能、修复、重构),minor 仅用于破坏性变更,major 从不使用。

描述写法:面向最终用户,出现在 GitHub releases 中。聚焦解决的问题与收益,而非技术实现细节;保持简短,通常一两句话、不超过一段;适用时附上启用或使用该功能的代码示例。

发布自动化:发布通过 .github/workflows/release.yml 运行,没有手动发布步骤。合并含 changeset 的 PR 后,Changesets action 会打开或更新 Version Packages PR;合并该 PR 触发稳定版发布工作流,由 release orchestrator 发布并验证 npm 包、Docker Hub 镜像、CF Registry 公共库镜像、GitHub Release 与独立二进制产物。预发布工作流同样经由 release orchestrator,验证 npm dist-tag、Docker Hub 镜像、CF Registry 公共库镜像及可选的移动 Docker 别名。工作流重跑会补齐缺失产物。

版本同步:Docker 镜像版本必须与 npm 包版本一致,通过 packages/sandbox/Dockerfile 中的 ARG SANDBOX_VERSION 强制;SDK 版本记录在 packages/sandbox/src/version.ts。镜像仅构建 linux/amd64,发布到 Docker Hub 与 registry.cloudflare.com/library/sandbox:{version}(含 -python、-opencode、-musl 变体)。

检查清单:.changeset/ 文件名具描述性;只列 @cloudflare/sandbox;bump 类型为 patch(破坏性变更用 minor);描述说明用户可见问题与收益;相关时包含用法提示(标志名、选项、方法)。