cli/ 发布官方 worldmonitor npm CLI 的流程。CLI 发布有意与桌面应用发布相互独立:一个 cli-vX.Y.Z Git 标签会触发 .github/workflows/publish-cli.yml。
Python、Ruby 和 Go SDK 以相同方式发布,各自使用自己的标签(py-v*、gem-v*、sdk/go/v*)——参见官方 SDK → 发布。
先决条件
worldmonitor包已存在于 npm 上。- npm Trusted Publishing 已针对本仓库和
.github/workflows/publish-cli.yml配置完成。 - 该工作流保留
permissions.id-token: write,以便 npm 能够铸造短期 OIDC 凭证并附加来源证明(provenance)。
NPM_TOKEN 仓库密钥。如果未配置 Trusted Publishing,发布步骤将无法通过认证,直到某个 npm 包所有者在 npm 包设置中添加 GitHub Actions 可信发布者。
发布步骤
-
更新
cli/package.json,使version恰好等于你打算发布的版本。 - 提交版本号变更,并包含应随该版本一起发布的任何 CLI 文档或更新日志改动。
-
当发布提交进入
main或目标发布 ref 后,创建一个名为cli-vX.Y.Z的标签,其中X.Y.Z与cli/package.json完全一致: -
推送标签:
-
观察
Publish CLI to npm工作流。它会运行 CLI 测试,验证标签版本与cli/package.json一致,并带上来源证明进行发布。
cli/package.json 同样声明 "version": "0.1.3" 时,cli-v0.1.3 才会发布。
试运行(Dry Run)
当你想在不发布的情况下验证打包生成的 tarball 时,使用手动workflow_dispatch 触发器并设置 dry_run: true。该工作流从 cli/ 运行,并执行 npm pack --dry-run。
仅当你有意让手动工作流路径进行发布时才使用 dry_run: false。标签触发的发布仍是常规路径,因为标签名就是发布契约。
故障排查清单
工作流成功后,确认新版本已出现在 npm 上,且
npx worldmonitor --version 解析到已发布的版本。