Repository navigation
Commit 55b9273
pm(check-expected-skips): derive the expected-skip roster from the workflows' job-level if: gates (#26648)
<!-- claude-projects-attribution: {"github_login":"os-steve"} -->
_Requested by **Steve** · [project
thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9QNR2GRCdq6fNoXi6jwg2Xb)_
Fixes #26439
Clause-②: no
Metadata-protocol: none
## 维护者速读
- 改了什么:`check-expected-skips` 不再手抄「允许 skip 的 job 名单」,改为直接读各 workflow 里每个
job 的 `if:` 推出名单;手抄的 16 行全部删除。
- 为什么改:手抄名单一漏就红(#26111 就是一次),新增或改名一个带门控的 job 都得来这里补一行;本 PR 实测 main
上已经又漏了两个(`Plan Test Core shards`、`Delete the reapable branches`)。
- 风险与回滚:只动一个 `scripts/pm` 脚本,不发布、不改
workflow;判错的方向是「多红」不是「放过」——不认识的写法一律拒收并点名。回滚即 revert 本 PR。
- 先看:`scripts/pm/check-expected-skips.mjs` 的 `gateTerm` /
`jobGate`(认哪几种写法)、`filterTermProblem`(filter 契约三条),再看自测里 ADD / RENAME /
UN-GATE 几条。
- 两分钟验证:`node scripts/pm/check-expected-skips.mjs --roster`,预期首行写 `20
expected-skip name(s), every one derived … none listed by hand`,且无 1 parent b49b752 commit 55b9273
1 file changed
Lines changed: 654 additions & 490 deletions
0 commit comments