Repository navigation
[PR] fix: add workflow_dispatch trigger to boundary guard (release path guard blind spot, with branch-exempt dispatch hardeni | fix: 边界守卫补上 workflow_dispatch 触发(发版路径守卫盲区,含分支豁免 dispatch 加固) - #4428
Conversation
📦 Built Package ArtifactBranch: Latest build — install this exact versionnpm install -g [email protected]This exact version is immutable and reproducible. The rolling Recent builds (commit → version)
Download artifact
tar xzf billion-context-pr4428.tgz
npm install -g packageInstall instructions are refreshed on each push. |
5b90213 to
7705810
Compare
|
(ai: zhipuai-lb/glm-5.3) 状态说明:本 PR 为 CI 覆盖加固,非回归修复。按 owner 决定「非回归问题本版不合并」,留待下个版本,保持 open、不阻塞发版。 |
(ai: vllm-qwen/qwen3.8-27b) 查重: 不重复 —— 全仓 open+closed 检索无其他条目覆盖「边界守卫不在 workflow_dispatch 上跑」这一机制。来源是 v0.1.204→master 回归审查的 P3 发现(PR #4412 评论);与 #4426 相关但机制不同(#4426 修直推路径的 FULL 测试矩阵覆盖,本 PR 修守卫 job 自身的触发条件)。 标签: bug、scope/ci、p3(CI 执法盲区,仅影响应急发版路径,低频,不影响终端用户) 状态确认(按 floor 2 的 owner 决定:非回归加固本版不合并,保持 open、不阻塞发版)。本轮未改任何代码,做了核对与定向验证: 分支与代码核对
定向验证(本地一次性 worktree + 模拟事件环境变量,闸门双向 8/8 通过)
CI 状态:当前 head 47/47 completed(35 绿、12 skipped、0 红)。 结构化八问
收工判定:保持 open(按 owner 决定本版不合并、不阻塞发版)。分支代码与描述一致、双向定向验证通过、CI 全绿,当前无需任何动作;下个版本捡拾时先 rebase 最新 master 再合入即可。 |
master window commits 293ae65/de5e03659 bumped kernel/package.json to 0.0.165 without regenerating the lockfiles; lock-sync re-resolution then rewrites the stale recorded versions (root 0.0.163, kernel 0.0.164) and fails. Pure recorded-version sync via npm install --package-lock-only; no dependency or semantic change.
现象(人话)
version-guard / kernel-guard / pi-subagents-guard / lane-guard 四个边界守卫只在
pull_request事件跑。发版链路里release-ci-gate.mjs会用workflow_dispatch在发版 commit 上补跑 ci.yml —— 这一路径上四个守卫全部跳过:发版 sha 恰好是「version 字段、kernel 版本、锁文件」最该被检查的 commit,却永远看不到守卫。PR-merge 发版有守卫兜着,直推/回退路径没有。根因
四个 job 的
if: github.event_name == 'pull_request'(#2637 fail-fast 分层的刻意设计:push 上跳过守卫让 4 条平台腿照跑)。当年没考虑 #3539 之后 dispatch 会成为发版 sha 的正式 CI 载体。修复(纯 CI,无运行时代码)
pull_request || workflow_dispatch(push 仍跳过,CI 排队与执行时间优化:不降低质量的前提下大幅节省(数据+方案清单) #2637 语义不变;守卫在 dispatch 上红 →failure()→ 腿跳过 → run 红 → 发版门拒发,这正是想要的执法)。BRANCH="${GITHUB_HEAD_REF}"—— 该变量 PR 专有,dispatch 上为空,会导致*_release-v*/*_release-kernel-v*/bugfix-release/*豁免全部失配,把合法发版 commit 误判红。改为${GITHUB_HEAD_REF:-${GITHUB_REF_NAME}}(dispatch 上 REF_NAME=被派发的分支名,豁免恢复工作)。这是本 PR 必须带上脚本改动的唯一原因。不变式核对
origin/master...HEAD为空 diff,守卫空转通过(无害)。来源
v0.1.204→master 回归审查 P3(PR #4412 评论「kernel-guard 等三个 guard 不在直推发版 commit 上跑(建议
|| workflow_dispatch)」),P2-① 的伴随项(PR #4426 修了直推路径的 FULL 矩阵,本 PR 补守卫覆盖)。