docs(CI): §5.3 重写并记录覆盖率工具链落地,更正 §1.2.1 与本会话先前的错判

补上今天两件 CI 工作的落地记录,并把错误结论改对(历史行不动,只在上方加行)。

新增 §4.4「覆盖率工具链(mscoverage)与 VS2026 BuildTools」。为什么只能装:
那个 exe 没有免安装的独立发行版——实测 NuGet 两个候选包,
Microsoft.Testing.Extensions.CodeCoverage 18.12.0 的 109 个条目里 .exe 数为 0,
Microsoft.CodeCoverage 18.11.0 只有老版 CodeCoverage.exe(CLI 语法还不同),
所以它只随 Visual Studio 本体分发。安装入口是 aka.ms/vs/18/stable/
vs_buildtools.exe(release 那条短链不存在,会掉到"未找到"页);组件 ID
Microsoft.VisualStudio.PackageGroup.TestTools.CodeCoverage 由 18.11 的
VisualStudio.vsman 解析得到(清单里唯一引用 DynamicCodeCoverage 与
CodeCoverage.Console.Targeted 的组)。含可直接粘贴的三条管理员命令、-Force
陷阱、Restart-Service Schedule 判据,以及「装在非默认盘 = 门禁与 CI 都看不见」
的成因:Find-MsvcCl 与 _default_vs_roots 都只由 %ProgramFiles% 派生根。

§5.3 整节重写:本仓库已移除 uses:,记录六项实测(A/B/C/D/E/F,其中 E 是执行
从 ci.yml 抽出的正文、测的就是文件里那份字节)与两条自查命令,并明标两条
**未证边界**:PR 的 refs/pull/<n>/merge 兜底在本实例无法证实(0 个 PR、
ls-remote 该命名空间为空);Basic 令牌那一支本地验证不了(公开仓库匿名即过,
伪造令牌只能证明坏的会被拒)。旧版那段"可直接抄"的示例标为禁抄:shell: pwsh
在 runner 上 PATH 无 pwsh 会直接失败,--depth 1 让 base..head 报 unknown
revision,两条都会让下一个照抄的人多红一轮。

更正两处过时/错误说法:① §1.2.1 表第三行——自定义 DEFAULT_ACTIONS_URL 在
1.25.4 已无可用取值,旧写法会把排障的人引向一个不存在的开关;② 我自己先前
写的「旧探测会把机器级变量覆回 C 盘 14.29」——本机实情是 C 盘 VS2019 已于
10-27 01:00 卸载(C 盘 x64 cl.exe 实测 0 个),旧探测的行为是「找不到 → 只
Warn → 不写」,于是变量一直指着失效路径。§7 的 checkout 行相应改为「看见此
症状=有人把 uses: 加回来了」。

另:口径文档 §7 第 8 条加实测补注(「CI runner 与本机同一台」对量基线那台不
成立,本机当日 vswhere 只有 VS2019);新增 remote-ci-ops skill 并接上 AGENTS
与 docs/CI/README 两处指针;指南与 README 各加变更记录。纯文档,按 workflow
的 paths-ignore 不触发 CI。
This commit is contained in:
2026-10-27 08:01:40 +08:00
parent 2d18193d38
commit 51ecd36192
5 changed files with 396 additions and 33 deletions
+1 -1
View File
@@ -185,4 +185,4 @@
| 待办与审计发现登记簿 | `docs/任务规划/README.md` |
| 多任务并行开发(开空间 / 合并回收 / 台架与构建排队) | **`task-worktree` skill**(`@task`,用到自动加载)、`docs/环境与部署/并行任务工作树方案.md` |
| 换机 / 工具路径环境变量 | `docs/环境与部署/` |
| 远程 CI(Gitea Actions,**只跑本机一台 runner**) | [`docs/CI/README.md`](docs/CI/README.md) |
| 远程 CI(Gitea Actions,**只跑本机一台 runner**) | **`remote-ci-ops` skill**(排障顺序与判据,用到自动加载)、[`docs/CI/README.md`](docs/CI/README.md) |