工程(闸件自检档): 纯闸件/管线批不再零触发——domain_route只含tools/.gitea判gates(空diff仍skip) + run_all_gates新增--gates档(文档域python机检件+熵增+静态扫描+闸壳bash -n自检,不启引擎,判据口径原样) + ci.yml档位映射三值化(full/docs/gates)并排除gates档导入缓存刷新

This commit is contained in:
DKChan committed 2026-11-05 03:47:52 +08:00
1 parent 202fd3d665
commit a20ca0df0b
3 files changed
+78 -21

No files matched your search

+5 -4
View File
@@ -1,13 +1,14 @@
#!/usr/bin/env bash
# 乙案域分流——push 触发的远端 CI 按改动域选闸(2026-11-03 用户裁)。
# 用法: tools/ci/domain_route.sh <base_sha> <head_sha>
# 输出: stdout 打印 full|docs|skip;GITHUB_OUTPUT 在位时另写 mode= 行(Actions 步骤输出)。
# 输出: stdout 打印 full|docs|gates|skip;GITHUB_OUTPUT 在位时另写 mode= 行(Actions 步骤输出)。
# 规则(唯一事实源,乙案语义):
# 1. diff 含 game/ 下非 .md 文件(行为载体:代码/场景/数据表/素材)→ full(两域全量,渲染闸随 code 域)
# 2. 否则 diff 非空(design/ 文档、reports/、根 md、game/ 下 .md 等一切非代码面)→ docs
# (乙案:文档批只跑文档域秒级闸——gdd_lint/doc_link/doc_term/pipeline/doc_ref/capability+熵增)
# 例外:diff 只含 tools/ 与 .gitea/(闸件与管线自身改动)→ skip——闸件改动不占合回全量,
# 质量义务=落批人工确认可跑通(run_all_gates.sh 头注既有口径,不在远端重复烧引擎)。
# 例外:diff 只含 tools/ 与 .gitea/(闸件与管线自身改动)→ gates——闸件自检档:跑不启引擎的
# 机检面(文档域 python 机检件+熵增闸+静态扫描+闸壳 bash -n 自检,见 run_all_gates.sh
# --gates),闸件改动不再零触发,也不在远端重复烧引擎。
# 3. diff 空 → skip。
# 判定面说明:game/tests/** 与 game/sim/** 属 game/ 行为载体(.md 除外)→ full,
# 与 run_all_gates.sh 关联档口径一致(测量面批单元与集成测试照跑全套件)。
@@ -28,7 +29,7 @@ else
mode="full"
else
non_tools="$(echo "$files" | grep -vE '^(tools/|\.gitea/)' || true)"
if [ -n "$non_tools" ]; then mode="docs"; else mode="skip"; fi
if [ -n "$non_tools" ]; then mode="docs"; else mode="gates"; fi
fi
fi
if [ -n "${GITHUB_OUTPUT:-}" ]; then printf 'mode=%s\n' "$mode" >> "$GITHUB_OUTPUT"; fi