From ff3023b0e0d178d2864f8789e8c1bec18db0a2ba Mon Sep 17 00:00:00 2001 From: imccyu <276526105+imccyu@users.noreply.github.com> Date: Wed, 22 Jul 2026 18:22:15 +0800 Subject: [PATCH] ci: skip lsp-local for windows --- vitest.config.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vitest.config.ts b/vitest.config.ts index 9dd5e0e95d..c2a6d09c2c 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -11,6 +11,17 @@ const windowsUnsupportedPackages = process.platform === 'win32' ] : [] +// These files retain 100% per-file coverage on POSIX, where their process-pipe and terminal timing +// tests are deterministic; Windows skips those cases and must not fail solely on their uncovered paths. +const windowsCoverageExclusions = process.platform === 'win32' + ? [ + 'packages/lsp/lsp-local/src/connection.ts', + 'packages/lsp/lsp-local/src/index.ts', + 'packages/lsp/lsp-local/src/instance.ts', + 'packages/ui/tui/src/index.ts', + ] + : [] + export default defineConfig({ // Native path resolution reads each package's nearest tsconfig, but only the root defines // workspace paths. Keep this plugin pinned to the root map so bare package imports resolve @@ -46,6 +57,7 @@ export default defineConfig({ 'packages/client/web-react/src/*', 'packages/host/webserver/src/*', ...windowsUnsupportedPackages.map(path => `${path}/src/**/*.ts`), + ...windowsCoverageExclusions, ], // 100% or it doesn't merge (docs/testing.md: excessive tests are welcome). // Per-file so a well-covered big file can't subsidize a bare one.