Repository navigation
v0.1.14
这次加的是什么
嵌套模块的「多层子目录路径」支持——kitex v0.7.0 把 kitexotel / istio 拆成嵌套模块后,
工具链里五处「单层目录」假设全部算错。
Go 的子目录模块 tag 规则要求 tag 带完整子路径 ⇒ 这类嵌套模块的 tag 是
observability/tracing/instrumentation/kitexotel/v0.1.0,而工具链按「仓根下一层」解析:
| 位置 | 旧假设 | 修法 |
|---|---|---|
gen_versions.py |
tag.split("/", 1) |
改 rsplit(split 会把多层路径切成 path=observability / ver=tracing/…/v0.1.0) |
gen_matrix_go.py |
NESTED_ONLY_TAGS 正则只放行单层路径 |
放宽为允许多层,版本号改 rsplit 取最后一段 |
release_train.py |
嵌套模块的 CHANGELOG 取 module_dir.parent/CHANGELOG.md |
上溯到仓根——多层时原指向不存在的目录,发版被凭空拦下 |
verify_release_units.py |
llms.txt 嵌套条目正则只放行单层路径 | 名字与链接正则同步放宽 |
audit.py |
嵌套模块父仓地板门禁只扫「仓根下一层」 | 放宽为递归 **/go.mod(排除仓根本身) |
计数漏数也修了:count_units 用 r.glob("*/go.mod") 只扫一层 ⇒ 多层嵌套模块被漏数
(实测文件系统里有 11 个,单层 glob 只数出 10)⇒ 站点文案据此判漂移
(真实 11 / 36,误判 10 / 35)。改为递归扫 **/go.mod,排除仓根本身与
.git / vendor / third_party / testdata / examples(与共享 CI 的发现口径一致)。
口径变化
嵌套模块 9 → 11、发版单元 34 → 36(24 根 + 11 嵌套 + 1 伞仓)。
NESTED_MODULES 登记表补齐 kitex v0.7.0 拆出的两个嵌套模块——登记表是「应该有什么」的唯一声明,
缺登记会让三类判据失真(发版单元口径门禁判「口径分裂」红 / llms.txt 逐字节比对判站点段漂移红 /
嵌套模块安装行缺失 ⇒ Agent 装不上):
kitex/observability/tracing/instrumentation/kitexotel→kitexotel/v0.1.0kitex/istio→istio/v0.1.0
顺带把 BOM_RELEASE_UNIT 旁过期的计数注释(「裁决定死 34」)改成只写裁决不写绝对数——
裁决本身(伞仓必须计入发版单元口径)没变,变的是总数随嵌套模块增减。
附带
matrix.py 的 DESC 同步已发布事实:pkg 补 v0.23.0 起 Peek 非删除式读
(可选接口 PeekGetter 外置——读到过期条目只算不命中、不删除它,stale-if-error 兜底需要那份过期真值留在表内,pkg#72)、
data 补 v0.18.0 起 cache 壳 PeekGetter 别名 + cachetest 壳 2 个 stale-if-error 契约入口。
验证
changelog_check ✓ · verify_release_units ✅ 36 个发版单元 · verify_site_copy ✅(24 / 25 / 11 / 36)·
MODULES 24 | NESTED 11 | UNITS 36