# mac 平台 golden 基线生成工作流(workflow_dispatch 手动触发型,2026-11-03)。 # 用途:渲染基线按平台各存——mac 基线必须在 Mac 的图形会话里窗口化渲染产出(Windows 基线不可跨平台替代)。 # 纪律(Q6):本工作流只「生成」候选基线文件(落在 runner 作业工作区,不提交不入库); # 入库走人工通道:人工目检四张基线(体验验证清单㊾)→ 取回文件显式提交并写明触发原因。 # 禁由 CI 自动提交基线(防静默重制掩盖视觉回归)。 # 运行形态:runs-on=ci-mac(host 模式,作业活在 ci-runner 图形会话内——窗口可开、截图可用)。 name: baseline-mac on: workflow_dispatch: jobs: refresh: runs-on: ci-mac timeout-minutes: 30 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: 导入缓存刷新 run: | cd "$GITHUB_WORKSPACE/repo" /usr/local/bin/godot --headless --path game --editor --quit - name: 退出判别实验(quit-after 能否解 macOS 窗口化退出挂死) run: | cd "$GITHUB_WORKSPACE/repo" mkdir -p /tmp/shots_diag /usr/local/bin/godot --path game --quit-after 3000 res://probe/board_shot_probe.tscn -- /tmp/shots_diag echo "diag_rc=$?" ls -la /tmp/shots_diag/ | head -8 - name: 基线生成(棋盘三图) run: | cd "$GITHUB_WORKSPACE/repo" GODOT_BIN=/usr/local/bin/godot bash tools/golden_baseline_refresh.sh "$GITHUB_WORKSPACE/repo/game" ls -la game/tests/golden/mac/ || true - name: 基线生成(菜单全屏) run: | cd "$GITHUB_WORKSPACE/repo" GODOT_BIN=/usr/local/bin/godot bash tools/golden_baseline_refresh.sh "$GITHUB_WORKSPACE/repo/game" --menu ls -la game/tests/golden/mac/ || true - name: 基线导出(/Users/Shared 不随作业清理,供人工取回目检) run: | mkdir -p /Users/Shared/baseline_out cp -f "$GITHUB_WORKSPACE/repo/game/tests/golden/mac/"*.png /Users/Shared/baseline_out/ chmod 644 /Users/Shared/baseline_out/* ls -la /Users/Shared/baseline_out/