name: Design Source Checks # 设计真相源检查(治理规则见 CLAUDE.md「设计真相源分层」): # PR 与合并 main 时自动跑:四道静态闸(node + dart format)+ flutter test # (单测 + golden ×3 主题回归自比,2026-07-07 纳入——此前 DoD 写了但无闸)。 # fidelity 重型像素闸维持「定期体检」定位,本地手动跑。 on: pull_request: push: branches: [main] concurrency: group: checks-${{ gitea.ref }} cancel-in-progress: true jobs: design-source: runs-on: mac steps: - uses: actions/checkout@v4 - name: Provision (idempotent — auto-runs if host not initialized) run: sh scripts/ci/provision-mac.sh - name: 原型设计系统闸(check-ds 12 道) run: node design/prototype/tools/check-ds.mjs - name: L1 真相源同源闸(tokens 快照 / icons / 官网 token 值 / web hex) run: node tools/check-l1-sync.mjs - name: Flutter 颜色单源闸(check_ds_code) run: node client/tool/check_ds_code.mjs - name: token codegen 新鲜度(regen → format → 与入库产物零 diff) run: | cd client node tool/gen_tokens.mjs dart format lib/core/theme/app_tokens.g.dart lib/core/theme/app_dims.g.dart lib/core/theme/app_chrome.g.dart git diff --exit-code -- lib/core/theme/app_tokens.g.dart lib/core/theme/app_dims.g.dart lib/core/theme/app_chrome.g.dart - name: Flutter 测试(单测 + golden ×3 主题回归自比) run: | cd client flutter test