docs(release): 更正"只改发版配置仍会 mint 版本"这个推论(被 RP 实测否掉)+ 记下 sdist 里 tests 的分发面 - #139
Merged
Merged
Conversation
#138 合入(1264b70,14:32:09Z)后 2 秒 RP 重跑,日志原文: ✔ Splitting 5 commits by path ❯ commits: 3 ✔ Considering: 3 commits ✔ No user facing commits found since 9125a3e - skipping 那条提交改的正是 `release-please-config.json`(外加 docs/tests),而 #138 的 PR body 与 §1 第 ② 条都由"`exclude-paths` 排不掉仓库根上的单个文件"推出过"所以只改发版配置仍会 mint 一个版本,#137 就是这么留下的"。**前半句是对的**(匹配式 `file.startsWith(entry + "/")` 决定根文件做不成条目),**后半句是错的**:类型侧还有一道闸,`ci:` 不算 user facing, `docs:` 才算 —— 当初 2.2.6 被开出来是因为内容是 Documentation,不是因为文件位置。 一句话里"排不掉 ⇒ 会发版"这步跳跃是我把两个独立机制当成了一个。 顺带补两条同批量到的账,下次动口径要用: 1. **收窄口径会留下"死信 release PR"**:RP 对已经开出、但内容不再算数的 PR 既不更新也**不关闭** (这一轮走的是 `skipping` 分支,#137 的 `updatedAt` 停在 14:03:51Z 没动),所以它要靠人关。 以后每次改 `exclude-paths` 或提交类型口径,都得去 `gh pr list --author app/github-actions` 清一次旧的。 2. **排除 `tests` 不是零代价**:v2.2.5 的 sdist 实测含 **138 个 `tests/` 文件**(wheel 里 0 个, `docs/`、`scripts/`、`.github/`、`release-please-config.json` 也都是 0)。"只改测试不发版" 是对 wheel(用户真正 pip 安装的东西)成立的判断,对 sdist 不成立 —— 是有意的取舍,写下来 免得下次有人以为它完全不影响产物。 产物侧的数一起进 `docs/DOD.md`:新增一条"v2.2.5 只做产物侧回读,没重跑本清单"的记录 —— wheel/sdist 的字节数、条目数(1065 / 1208)、三件套、双向对上的 sha256、 `run_startup_selfcheck(enforce=True)` = `16/16/0 skipped=0 manifest_signed=true`, 并写明**为什么不拿局部绿灯冒充 DoD 执行过**(运行时代码零改动 + 主工作树当时被另一个写者占着, "跑测试期间冻结工作树"这个前提不成立)。 验证:独立 worktree(`git worktree add`,不动主工作树 —— 那边此刻有另一个写者在改 38 项) 跑 `tests/test_version_consistency.py` + `tests/test_release_readiness_gate.py` = **13 passed**; `scripts/check_release_readiness.py --root .` 判"发版条件满足"(11 处版本位 = 2.2.5); `已发布最新 = v2.2.5` 那一行未动。 Signed-off-by: ReSerendipity <zengyangc@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
纯文档更正,改的是我自己上一轮写进 main 的一个错推论。没有代码改动、没有版本号改动。
我错了哪一条
#138(
exclude-paths)的 PR body 与docs/release-governance.md§1 第 ② 条都由"根上的单个文件排不掉"推出过"所以只改发版配置的提交仍会 mint 一个版本,#137 就是这么留下的"。#138 合入(
1264b70,14:32:09Z)后 RP 2 秒重跑,日志原文:那条提交改的正是
release-please-config.json(根文件、排不掉),却没 mint 版本。原因:路径排除与提交类型是两道独立的闸 ——ci:不算 user facing,docs:才算(当初 2.2.6 被开出来是因为内容是### Documentation,跟文件位置无关)。"排不掉 ⇒ 会发版"这步跳跃把两个机制当成了一个。一起记下来的两条
skipping),chore(main): release 2.2.6 #137 的updatedAt停在 14:03:51Z 一动没动 —— 只能人关。以后每次动exclude-paths或类型口径都要去清一遍旧的。tests不是零代价:v2.2.5 的 sdist 实测含 138 个tests/文件(app/1064 +tests/138 + 根 6 = 1208 文件),而 wheel 里tests/、docs/、scripts/、.github/、release-please-config.json全是 0 命中。所以"只改测试不发版"是对 wheel(用户真正 pip 安装的东西) 成立的取舍,对 sdist 不成立 —— 记成取舍,别记成无影响。docs/DOD.md新增一条 v2.2.5 的产物侧回读记录(wheel4eba3c28…28,381,932 B / 1065 条目、sdist04d012b6…28,337,605 B / 1208 文件、三件套齐、run_startup_selfcheck(enforce=True)=16/16/0 skipped=0 manifest_signed=true),并写明这一版没重跑 DoD 清单(运行时代码零改动 + 主工作树被另一个写者占着,"跑测试期间冻结工作树"的前提不成立),不拿局部绿灯冒充清单执行过。验证
在独立 worktree(
git worktree add,不动主工作树)里跑:pytest tests/test_version_consistency.py tests/test_release_readiness_gate.py→ 13 passedscripts/check_release_readiness.py --root .→ "发版条件满足"(11 处版本位 = 2.2.5)已发布最新 = v2.2.5那一行未动 → 第 11 处版本位不受影响(顺带一条环境账:独立 worktree 里没有
.venv,pre-commit 的check-engine-compat会退回裸python而报 4/9(torch 找不到)。把.venv/Scripts前置到 PATH 再提交就正常 —— 那是 worktree 缺 venv 的假失败,不是改动的问题。)