ci(workflows): 让日常线 dev 也跑「快且会静默腐化」的守门

本仓日常开发线是 dev,日常合并不走 PR;而 ci.yml / guards.yml 只挂在
`push: branches: [main]` + `pull_request` 上 ⇒ fmt / clippy / 文件行数≤400 /
三条零依赖守门在日常线上一次都没跑过。可见后果:packaging/README.md 涨到 401 行
超全仓红线,直到文档普查才被发现(M131 才修回 398)。

做法(新增 dev-guards.yml,不改 main/PR 判据):
- guards 作业用 `uses: ./.github/workflows/guards.yml` 复用**同一份**六道守门脚本
  (guards.yml 只加了 `workflow_call:` 触发,其余一字未动),避免两份 unsafe 词法器
  各自演进造成「dev 绿、main 红」的双真相;
- fmt / clippy 各写一份,命令与 ci.yml 逐字一致(ci.yml 整份复用会把 build/test/
  runtime-smoke 矩阵也拖上 dev);
- 刻意不上 dev:全量 cargo test(--all-targets 的 clippy 已覆盖「测试代码编译不过」
  这类腐化,「断言暂时红」在施工中间态是常态)、build release、runtime-smoke。

成本控制:workflow 级 concurrency 取消同 ref 旧运行;clippy 在「本次推送只碰文档」
(*.md / LICENSE / NOTICE / .gitignore 白名单)时跳过编译,判据保守——非 push、
before 全 0、base 不可解析、diff 为空、出现任何白名单外路径一律照跑。
This commit is contained in:
AskaEth committed 2026-11-05 18:15:37 +08:00
1 parent 969d5ea450
commit e0e1f90aed
2 files changed
+131

No files matched your search

+6
View File
@@ -23,6 +23,12 @@ on:
branches: [main]
pull_request:
workflow_dispatch:
# M133:日常线 `dev` 复用**同一份**守门脚本(`.github/workflows/dev-guards.yml` 里
# `uses: ./.github/workflows/guards.yml`)。这是**纯新增的触发方式**:上面三条与下面全部作业
# 一字未动,main / PR / dispatch 的触发与判据与加这行之前逐字相同。
# 为什么复用而不是复制:判据只能有一份。两份 unsafe 词法器(110 行状态机)各自演进,迟早出现
# 「dev 绿、main 红」的双真相,那时 dev 门禁就变成了装饰品。
workflow_call:
env:
CARGO_TERM_COLOR: always