Files
Unlucky-Launcher/.github/workflows
AskaEth aa42496561 fix(ci): M156 修 guards.yml 三处 bash -e 静默自杀(presenter-no-ui 从未绿过)
M155 钉死:guards.yml 的 `hits=$(… | grep -iE …)` 在 grep 零命中(exit 1)时被
runner 默认的 `bash -e {0}` 拖红整步,且脚本里 `set -uo pipefail` 关不掉 -e,
所以一条 `::error::` 都打不出来 —— presenter-no-ui 自 M89 引入起从未绿过一次。

- presenter 依赖树 step:`hits=` 补 `|| true`(零命中回到绿路,真命中仍红)
- core 依赖树 step:裸 `tree=$(cargo tree …)` 改 `if ! tree=$(…)` 守卫,
  与 presenter / design 两处对称,cargo tree 失败时打注解而不是静默退出
- unsafe-scope:`actual=$(git grep …)` 末尾补 `|| true`,零匹配不再中止整步
- 文件头加一条警示:「本文件所有 run: 都在 bash -e 下,裸管道/裸赋值会被静默杀死」

验证(M155 方法:step 脚本从 yml 原样切出、`bash -e` 执行):
presenter 零命中 改前 exit1/0 注解 → 改后 exit0 打 OK;真命中仍 exit1/2 注解;
core cargo tree 失败 改前 exit101/0 注解 → 改后 exit1/1 注解;unsafe 零匹配
改前 exit1/0 注解 → 改后 exit1/2 注解;两处正常路径均仍绿。pyyaml 可解析,398 行。
2026-11-07 09:15:10 +08:00
..