Run the CLI test suite on Windows

Merged
FE
3mo ago
+97-24

Summary

  • add a windows-latest CI job alongside the existing Linux job
  • isolate home-directory and persisted-environment tests from the developer machine on Windows
  • skip only tests whose asserted behavior is explicitly POSIX-only

Verification

  • npm run typecheck
  • full suite on Windows: 42 files passed, 549 tests passed, 4 skipped
  • environment tests: 44 passed
  • template tests: 63 passed
  • setup-agent tests: 31 passed

Why

The existing CI only ran on Ubuntu, so npm shim, PowerShell argv, home resolution, and Windows process-cleanup regressions could merge unnoticed. This makes Windows a required visible check on every pull request without renaming the existing Linux check.


Summary by cubic

Adds a Windows CI job so npm shim, PowerShell argv, and home-resolution regressions can't merge unnoticed, and makes the test suite pass on both OSes.

  • Adds a test-windows job running typecheck and the full suite on windows-latest.
  • Home-dependent tests set USERPROFILE alongside HOME; setup tests isolate INSTA_ENV, INSTA_API_URL, INSTA_MCP_URL, and INSTA_SKILLS_REPO.
  • Adds a Windows test proving findDurableOnPath resolves a global insta.cmd while ignoring npx cache shims.
  • Skips only tests asserting POSIX-only behavior (exec bits, PATH shims).
  • Full suite passes on Windows: 42 files, 549 tests, 4 skipped.
  • Docs name the new job and note branch protection still pins only the 1-approval rule, so a red job won't block the merge button.