Skip to content

[Task] Unblock windows-advisory: fix Windows-incompatible test fixtures #426

@Astro-Han

Description

@Astro-Han

Goal

windows-advisory workflow 在 dev 上首次启用以来连续 9 次全红,advisory 信号噪声过大无法读。目标:把 Windows 不兼容的测试 fixture 一次性清干净,让 advisory 在没有真实回归时保持绿色。

Scope

In scope:

  • packages/opencode/test/tool/agent-rename.test.ts SELF_PATH 路径分隔符自匹配 bug(17 条 sweep fail 一次解)
  • packages/opencode/test/session/prompt-effect.test.tswithSh("/bin/sh", ...)Shell.acceptable() 或 Windows skip(4 条 timeout)
  • packages/opencode/test/tool/bash.test.ts env-filter 测试在 PowerShell 5.1 / cmd 下命令构造 quoting bug,改用 stdin / temp file 喂代码(2 条)
  • packages/opencode/test/server/models-snapshot-fixture.ts prefix 比对前 normalize CRLF,或 .gitattributesmodels-snapshot.js 强制 LF(2 条)
  • packages/desktop-electron/src/main/windows-security.test.tsrenderer-protocol.test.ts 路径断言改 platform-aware(2 条)
  • migrateDefaultAgent POSIX 0600 file mode 测试加 win32 skip(1 条)
  • packages/app primary-mode sweep allowlist 加 context/global-sync/utils.ts(1 条)
  • packages/desktop-electron/scripts/ci-smoke.test.ts packaged smoke launch context 错误串 Windows 分支补全(1 条)

Out of scope:

  • 改产品代码。所有产品行为保持不变,只动测试与 fixture
  • 权限路径归一化(单独 issue 跟踪)
  • 任何 windows-advisory.yml 本身的结构改动

Relevant files or context

  • 失败基线 run: 25303162127,commit 1dfd7a98284deeda0fa78bbb4394ca7c85ac888f,2026-05-04
  • 工作流来源: d6fa1e6de "ci: split Windows advisory checks"
  • 相关历史尝试: 9d7d9bb80 "fix(opencode): stabilize windows ci tests"、0a6d33e1f "fix: stabilize embedded server build contract"
  • 失败拆解:32 条 fail 中约 30 条为测试 fixture Windows 假设漂移,剩余真 runtime-risk 在另一 issue 单独跟踪

Verification

  • 本地针对子集跑通:bun --cwd packages/opencode test test/tool/agent-rename.test.ts
  • PR 推上去等 windows-advisory workflow 跑一轮,目标全绿
  • 同时 main ci.ymldesktop-smoke.ymle2e-artifacts.yml 不能因为这次改动转红
  • 不需要 dev:desktop 真机验证,纯测试改动

Execution mode

Agent should investigate and propose a plan first

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priorityciContinuous integration / GitHub ActionstaskNarrow execution, audit, spike, migration, tracking, or upstream follow-up workwindowsWindows-specific

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions