Files
gplan-2/.gitea/workflows/ci.yml
T
DKChan 126e583fed 工程(基线合一批·golden单基线跨平台+补锚14张+审核关卡立规): 分平台基线机制拆除(2026-11-08用户裁:跨平台渲染必须一致,禁加基线消化差异)——windows 6件基线提升到golden/根,删windows/mac两平台目录与根目录遗留(level_map.png+边车,零引用核实); 闸件去平台化(render_gate.sh GOLDEN直拼/golden_compare.py删_PLAT与plat_missing/golden_baseline_refresh.sh落点改根+--screens换代入口); 拆自愈采集(ci.yml步+tools/ci/golden_selfheal.sh——CI自动落基线=既当裁判又当选手,测量数据已采完退役); 补锚14张(用户裁:发现少了就补,备案清零)——shot_probe扩九态(营地五窗真点热点开窗/图例真点钮/战末结算与三选一直调喂真实形态文案/调试浮窗直调)+battle段呼吸相位冻结(motion_scale0.5+1.2s动画完结锚定,board_shot同款)+热点键→基线语义名映射(dummy→tree/board→codex); 渲染闸屏态浮层golden段(golden_compare 14面)+shot_checker 16屏清单; 基线审核关卡立规(test-conventions §8.2:逐张审核确认后才入库生效+审核记录落档+非卡片批基线操作同关卡;process-conventions五·实现行:未审核的基线禁合回;req-card/iter技能特殊标注——豁免面直改); 实测依据: mac真渲染vs windows基线四指标(棋盘0.025~0.033%/menu 0.674% changed,RGB零色偏,块平均≈0)全在容差带内——数据归档reports/基线合一批-反哺点-2026-11-08.md; 读数: shot_probe直跑16图问题=0+渲染闸直跑exit=0(20面全PASS,新候选changed=0.00%)+bash -n×3+py_compile+文档域闸绿; 基线审核记录: 20张全部DKChan 2026-11-08确认(README审核记录节)
2026-11-08 23:19:47 +08:00

70 lines
3.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 远端 CI 工作流(2026-11-03 用户裁:CI 迁远端 Mac runner,host 模式直跑)。
# 触发:master 收到 push(post-merge 钩子合回自动推,或人手推 master)——分支推送不触发
# (开发分支不烧远端引擎时长;分支级验证=开发期手动跑批档)。
# 跑什么由 tools/ci/domain_route.sh 按改动域分流(乙案)——
# 游戏码批=两域全量(含渲染闸);文档批=文档域秒级闸;纯闸件/管线批=闸件自检档
# (run_all_gates.sh --gates:不启引擎的机检面+闸壳自检)。
# 运行环境:Mac host 模式(tools/ci/mac_setup.sh 自举),GODOT_BIN/GDSTYLE_BIN 由自举件安装到位。
# 检出用纯 shell 克隆:host 模式执行 JS 系动作(actions/checkout)需要 node 运行时,
# runner 机器无 node——首跑实证「Cannot find: node in PATH」即败(run 4),本仓禁用 JS 系动作,
# 引入新 Actions 前必须确认其执行器形态(shell/composite 可,node/docker 不可)。
# 闸清单与域划分唯一出处 = tools/run_all_gates.sh(本文件只负责触发与分流,不另列闸件)。
name: ci
# 手动档:workflow_dispatch(网页 Actions 页「Run workflow」按钮,选 master)=重跑语义②
# 「用户自发发起的全量回归」的入口(process-conventions §3 第 9 条)——绕过域分流直跑全量档;
# 点击权归用户,agent 自发触发=人手重跑踩线。
on:
push:
branches: [master]
workflow_dispatch:
jobs:
gates:
runs-on: ci-mac
timeout-minutes: 90
steps:
- name: 检出(纯 shell 克隆)
env:
TOKEN: ${{ github.token }}
run: |
git clone -q "https://${TOKEN}@git.kuaimeo.com/${GITHUB_REPOSITORY}.git" "$GITHUB_WORKSPACE/repo"
cd "$GITHUB_WORKSPACE/repo"
git log --oneline -1
- name: 域分流(乙案)
id: route
if: github.event_name == 'push'
run: |
cd "$GITHUB_WORKSPACE/repo"
bash tools/ci/domain_route.sh "${{ github.event.before }}" "${{ github.sha }}"
- name: 导入缓存刷新(闸前置——.godot 不入 git,冷检出一付;gates 档不启引擎,跳过)
if: steps.route.outputs.mode != 'skip' && steps.route.outputs.mode != 'gates'
run: |
cd "$GITHUB_WORKSPACE/repo"
# run134 实证:runner 缓存目录部分失效(.import 哈希记录在而 ctex 缺)时增量导入会跳过
# 重导、运行期成片资源 ERROR(字体/UI 素材)并污染 system_test 退出码与 golden 比对——
# 每批强制全量重导(幂等,代价≈1-2 分钟导入时长)
rm -rf game/.godot/imported
/usr/local/bin/godot --headless --path game --editor --quit
- name: 跑闸
if: steps.route.outputs.mode != 'skip'
env:
GODOT_BIN: /usr/local/bin/godot
GDSTYLE_BIN: /usr/local/bin/gdstyle
run: |
cd "$GITHUB_WORKSPACE/repo"
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
ARGS="" # 手动触发=固定全量档(2026-11-05 用户裁)
else
MODE="${{ steps.route.outputs.mode }}"
case "$MODE" in
full) ARGS="" ;;
gates) ARGS="--gates" ;;
*) ARGS="--docs" ;;
esac
fi
echo "[ci] 事件=${{ github.event_name }} 跑闸参数=$ARGS"
bash tools/run_all_gates.sh $ARGS