@viceme-ai/cli 0.45.4 → 0.45.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/checksums.txt +6 -6
- package/docs/releasing.md +74 -59
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.45.6] - 2026-09-22
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
|
|
7
|
+
- 正确清理发布校验中的只读 Go 缓存目录 (`f911e3c`)
|
|
8
|
+
|
|
9
|
+
### Other Changes
|
|
10
|
+
|
|
11
|
+
- 支持已验收功能分支独立发布并保留 dev 整体发布 (`a2b8d54`)
|
|
12
|
+
- 注册独立 dev 测试发布入口 (`13618ff`)
|
|
13
|
+
|
|
14
|
+
## [0.45.5] - 2026-09-21
|
|
15
|
+
|
|
16
|
+
### Fixes
|
|
17
|
+
|
|
18
|
+
- 补齐试用渠道包安装身份清单 (`d928b2f`)
|
|
19
|
+
|
|
3
20
|
## [0.45.4] - 2026-09-18
|
|
4
21
|
|
|
5
22
|
### Fixes
|
package/checksums.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
7f68ae9244e61ac6c454cc125fd86c2c94e39b33a427447d04fc63f301ee9764 viceme_0.45.6_darwin_amd64
|
|
2
|
+
66480f8606265fb4795129a5ba777b08cc99a92f53df2ea9c10a4968e868a240 viceme_0.45.6_darwin_arm64
|
|
3
|
+
c797656f9945294f3eb6a933c15f35c7e85fb7c3479337e44ab5bffbc2f43ae8 viceme_0.45.6_linux_amd64
|
|
4
|
+
276cc8db6fdff331efc506d1098a02163fd08e402ae4a13c378467adcf18ba2e viceme_0.45.6_linux_arm64
|
|
5
|
+
5511bc02e0b182e9c7d70de65484ef5b6aa85fc4e114b178ad028e7ab426e159 viceme_0.45.6_windows_amd64.exe
|
|
6
|
+
5ecdfb4aa0433d0eab9106ec70e4c85b79869a2cb3c9deb6c18e3b3dfa791885 viceme_0.45.6_windows_arm64.exe
|
package/docs/releasing.md
CHANGED
|
@@ -1,52 +1,65 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
1.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
3. `
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
5.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
# CLI 开发与自动发布
|
|
2
|
+
|
|
3
|
+
`main` 是生产来源和新分支基线,`dev` 是集成验收分支。两种常规发布方式并存:
|
|
4
|
+
同仓库功能分支独立发布,以及原有 `dev → main` 整体发布。维护者不手工修改版本号
|
|
5
|
+
或发布清单,不手动移动标签。本规则仅适用于 CLI,SDK 保持自己的发布流程。
|
|
6
|
+
|
|
7
|
+
## 功能开发与独立发布
|
|
8
|
+
|
|
9
|
+
1. 从最新 `origin/main` 创建短期功能分支,向 `dev` 提 PR,完成检查和验收。
|
|
10
|
+
2. 在原功能分支向 `main` 提 PR,正文记录已验收的准确业务 SHA、测试环境或安装包
|
|
11
|
+
版本、验证命令及结果。CI 检查 head 是否已进入最新拉取的 `dev`;此检查不能
|
|
12
|
+
代替人工验收记录。功能分支不得包含其他未发布功能。
|
|
13
|
+
3. Ready 的 main PR 触发 `CLI release preparation`。Bot 基于该 PR 的准确 head,
|
|
14
|
+
按 Conventional Commits 计算版本:breaking 为 major、feat 为 minor、其余为 patch。
|
|
15
|
+
更新 npm/Go/官方 Skill 版本、兼容范围、CHANGELOG 与发布清单。
|
|
16
|
+
4. Bot 先运行 `make check` 和 `make npm-package-check`,再把单个生成提交推到
|
|
17
|
+
**原功能分支**,更新现有 PR 标题,保留作者与人工验收正文。分支移动时普通 push
|
|
18
|
+
失败,不强推、不覆盖开发者的新提交。
|
|
19
|
+
5. 更新后的 PR 运行完整质量与安装检查。其业务父提交必须在 dev 中;生成提交仅
|
|
20
|
+
允许发布文件,并依据原工作流记录的日期从父提交重新生成、比较整个 Git tree。
|
|
21
|
+
校验 Actions API 中的原工作流、源 SHA 与状态。不能仅凭 Bot 邮箱或 trailer 放行。
|
|
22
|
+
此严格限定的生成提交不要求再人工合入 dev;任何后续业务改动仍须重新进入 dev。
|
|
23
|
+
6. 评审后使用 merge commit 合入 main。发布工作流从 main 的合并提交解析唯一的
|
|
24
|
+
同仓库 Release PR,为已包含在 main 历史中的准确源 head 打不可变标签,保留
|
|
25
|
+
六平台二进制、checksum、npm OIDC、CN/Global 安装清单及镜像发布流程。
|
|
26
|
+
7. npm 与双区域发布成功后发送飞书总结。独立发布显示原 PR 作者的真实 @ 和
|
|
27
|
+
“单独发布”,不归属给 approve/merge 操作者。映射见 `.github/feishu-users.json`。
|
|
28
|
+
|
|
29
|
+
多个候选 PR 可以开发并行,但生产发布按顺序处理。准备前功能分支必须包含最新
|
|
30
|
+
main;前一个发布合入后,下一个候选需同步 main、解决版本冲突、重新进入 dev 验收
|
|
31
|
+
并重新准备。不得强行复用已经发布的版本。不可变标签检查会拒绝版本碰撞。
|
|
32
|
+
尚未准备的 main PR 只运行轻量来源检查;准备成功后的准确 head 运行完整矩阵。
|
|
33
|
+
|
|
34
|
+
## 保留 dev → main 整体发布
|
|
35
|
+
|
|
36
|
+
把已验收的 dev 向 main 提 Ready PR,仍自动准备版本,并由 Release App 将生成提交
|
|
37
|
+
写回 dev。原 Release PR 更新后运行完整检查,评审合并触发相同发布流水线。
|
|
38
|
+
手动触发版本准备仅允许在 main 工作流上操作 dev。该模式不显示“单独发布”。
|
|
39
|
+
生产发布后,通过 PR 将 main 同步回 dev;仅当两侧 tree 完全一致时才能只记录 ancestry,
|
|
40
|
+
不得用丢弃改动的合并策略处理实际差异。
|
|
41
|
+
|
|
42
|
+
## dev 集成冲突
|
|
43
|
+
|
|
44
|
+
功能分支保持基于 main,禁止点 Update branch 将 dev 合回功能分支。
|
|
45
|
+
如功能分支与 dev 上其他未发布功能冲突:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git fetch origin
|
|
49
|
+
git switch -c 'chore(repo)/integrate-example' origin/dev
|
|
50
|
+
git merge 'origin/feat(cli)/example'
|
|
51
|
+
# 在临时分支解决冲突,提交并推送,再提 PR 到 dev
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
临时集成分支只能合入 dev,禁止作为 main 发布来源。原功能分支仍用于独立发布。
|
|
55
|
+
验收记录写明原功能 SHA 与实际测试的 dev 版本;原分支再更新时,重新集成和验收。
|
|
56
|
+
与 main 冲突则将 main 同步到原分支,再经 dev 验收。
|
|
57
|
+
|
|
58
|
+
## 存量分支与恢复
|
|
59
|
+
|
|
60
|
+
从 dev 创建的存量分支必须检查相对 main 的全部差异,确认没有夹带未发布功能;
|
|
61
|
+
不能只根据 PR 标题判断,也不要求批量 rebase。生产 hotfix 和不可变标签恢复保留
|
|
62
|
+
既有边界;hotfix 不走普通自动准备,恢复不能创建新版本或冒充独立发布。
|
|
50
63
|
|
|
51
64
|
## One-time repository setup
|
|
52
65
|
|
|
@@ -90,16 +103,21 @@ never changes an installed CLI's trust policy.
|
|
|
90
103
|
Keep `main` as the repository default branch, but target normal feature and fix
|
|
91
104
|
pull requests explicitly at `dev`. Repository settings allow merge commits only;
|
|
92
105
|
squash and rebase merging are disabled so an administrator bypass cannot detach
|
|
93
|
-
a reviewed
|
|
106
|
+
a reviewed source head from `main` history.
|
|
94
107
|
|
|
95
108
|
Protect `dev` with its own active branch ruleset that retains the normal pull
|
|
96
109
|
request, one approving review, the `PR quality` check, all three `PR npm
|
|
97
|
-
installer (<runner>)` checks,
|
|
110
|
+
installer (<runner>)` checks, deletion
|
|
98
111
|
protection, and force push protection. Protect `main` with a separate ruleset
|
|
99
112
|
that requires the same checks plus `Release candidate preparation`, but does
|
|
100
113
|
not require `dev` to contain the previous release merge commit. Both rulesets
|
|
101
114
|
allow merge commits only. The required `PR quality` job rejects `main` pull
|
|
102
|
-
requests
|
|
115
|
+
requests from forks or dev-only integration branches. Feature PRs additionally
|
|
116
|
+
require accepted dev ancestry and reproducible preparation. Disable strict
|
|
117
|
+
up-to-date checks for dev and set repository `allow_update_branch=false` so the UI
|
|
118
|
+
does not encourage merging dev into independently releasable source branches.
|
|
119
|
+
Keep the existing review and required checks; disabling this suggestion cannot
|
|
120
|
+
prevent a developer from manually merging dev, so review ancestry and full diff.
|
|
103
121
|
|
|
104
122
|
Add `ViceMe CLI Release Bot` and the organization-admin role to both bypass
|
|
105
123
|
lists with `Always allow`; the latter preserves the legacy rule's existing
|
|
@@ -113,14 +131,12 @@ generated files and validates the complete release before pushing. No
|
|
|
113
131
|
maintainer PAT or Deploy Key is used.
|
|
114
132
|
|
|
115
133
|
The general `CLI PR checks` workflow runs for pull requests, not branch pushes.
|
|
116
|
-
For a repository-owned
|
|
134
|
+
For a repository-owned source to `main` promotion, it classifies the exact head:
|
|
117
135
|
an unprepared head runs only target validation, while the marked Release Bot
|
|
118
136
|
commit runs the complete required matrix. A Release App push synchronizes the
|
|
119
137
|
already-open PR and cancels any older generic run for the same PR. The resulting
|
|
120
|
-
full checks therefore cover the exact prepared commit once. The synchronize
|
|
121
|
-
|
|
122
|
-
PR update; it does not install dependencies, regenerate files, or repeat the
|
|
123
|
-
preparation checks.
|
|
138
|
+
full checks therefore cover the exact prepared commit once. The synchronize event reuses preparation metadata; the required PR quality
|
|
139
|
+
job independently regenerates and verifies feature-release commits.
|
|
124
140
|
|
|
125
141
|
The checks from `CLI release publication` are deliberately not required for
|
|
126
142
|
merging: that workflow starts only after the release PR has been merged and
|
|
@@ -270,8 +286,7 @@ already exists, it must be non-draft and every existing asset must match
|
|
|
270
286
|
byte-for-byte before a missing asset is uploaded. Recovery still refuses
|
|
271
287
|
missing tags, version mismatches, changed release assets, and npm integrity
|
|
272
288
|
mismatches. It cannot create a new release identity. Normal production releases
|
|
273
|
-
|
|
274
|
-
`main`.
|
|
289
|
+
originate from merging an eligible repository-owned Release PR into `main`.
|
|
275
290
|
|
|
276
291
|
## Shared host payment presentation
|
|
277
292
|
|