diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b1d893e..8cc14db 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,3 +42,17 @@ jobs: [ -f "$f" ] || continue node --check "$f" || exit 1 done + + # v0.2.29 教训:Windows pytest 此前只在 tag 触发的 Build Release 跑 + # (test.yml 仅 ubuntu)——FakeGitRun git.EXE 大小写 bug(#723)等 Windows-only + # 测试回归要到发版构建才暴露。每个 PR 都应在 Windows 上跑 pytest 门禁。 + test-windows: + runs-on: windows-2025 + steps: + - uses: actions/checkout@v5 + - uses: astral-sh/setup-uv@v5 + with: + python-version: "3.13" + - run: uv sync + - name: Python tests (Windows) + run: uv run pytest tests/ -v diff --git a/Agent.md b/Agent.md index 15f7242..cc4a76c 100644 --- a/Agent.md +++ b/Agent.md @@ -120,7 +120,7 @@ pkill -f "emrg.server"; rm -f ~/.emrg/emrgd.port; python -m emrg Python: `uv run pytest tests/ -v` (758) — import check: `uv run python -c "from emrg.client.app import run_client"` GUI: `cd emrg/gui && npm test` (229: 44 daemon_client + 19 conn-manager + 22 app-commands + 107 renderer smoke + 15 i18n + 7 integration + 3 commands + 5 build-config + 7 gui-state) — syntax: `node --check main.js preload.js daemon_client.js renderer/js/*.js` -CI: `uv run pytest` + GUI tests + **actionlint workflow lint** (`rhysd/actionlint@v1.7.12` gate, #444 — workflow 解析错误在 PR CI 即失败,如 `if:` secrets 上下文) +CI: `uv run pytest` (ubuntu + **windows-2025 matrix** — Windows pytest 回归在 PR CI 即失败,v0.2.29 教训 #724) + GUI tests + **actionlint workflow lint** (`rhysd/actionlint@v1.7.12` gate, #444 — workflow 解析错误在 PR CI 即失败,如 `if:` secrets 上下文) Re-trigger: `scripts/re-trigger-ci.sh [branch]` (workflow_dispatch, #527 — 替代空 commit 重触发:Actions outage 会整段丢弃 push 事件,dispatch 走 API 路径不受影响) ## Packaging