From 3dde9a5e1c92b7c166ecb6ef28c0e0d4123cc89c Mon Sep 17 00:00:00 2001 From: Oke Iyanuoluwa Enoch <70354778+Iyanuoluwa007@users.noreply.github.com> Date: Wed, 21 Oct 2026 19:52:11 +0100 Subject: [PATCH] ci(windows): run remaining Windows-only path admission cases in the lane (#5807) Three test files have cases that run only on Windows (skipIf(process.platform !== "win32") / describe.runIf(win32)), but the windows-curated job runs an explicit file list that did not name them, so CI never executed those cases: - src/contracts/sessionPathInputs.test.ts (Windows absolute path forms) - tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts (snapshot replay through a junction and before native admission) - tests/boundary/mcp/rawBinaryMcp.test.ts (saved reads across a junction and a noncanonical Windows path) Add them to the lane and the package change scope, and guard the entries in curatedWindowsLane.test.ts. Co-authored-by: Claude Opus 5.5 --- .github/workflows/ci.yml | 3 +++ scripts/ci/scopes.mjs | 3 +++ tests/process-global/curatedWindowsLane.test.ts | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe8214e3d3..21f317fdea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -856,6 +856,9 @@ jobs: tests/process-global/filesystemSnapshotFallbackCancellation.test.ts tests/boundary/filesystem/typescriptCompiler.test.ts tests/boundary/filesystem/binaryTarget.test.ts + src/contracts/sessionPathInputs.test.ts + tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts + tests/boundary/mcp/rawBinaryMcp.test.ts tests/boundary/filesystem/safeOutputTree.test.ts tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts tests/boundary/providers/native/artifactProvider.extractionCompleteness.test.ts diff --git a/scripts/ci/scopes.mjs b/scripts/ci/scopes.mjs index 54ebaa7d17..fe242c8dc6 100644 --- a/scripts/ci/scopes.mjs +++ b/scripts/ci/scopes.mjs @@ -148,6 +148,9 @@ export const SCOPES = { "src/cli/setupCommands.ts", "tests/boundary/filesystem/typescriptCompiler.test.ts", "tests/boundary/filesystem/binaryTarget.test.ts", + "src/contracts/sessionPathInputs.test.ts", + "tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts", + "tests/boundary/mcp/rawBinaryMcp.test.ts", "tests/boundary/filesystem/safeOutputTree.test.ts", "tests/boundary/providers/native/artifactProvider.archiveSafety.test.ts", "tests/boundary/providers/native/artifactProvider.extractionCompleteness.test.ts", diff --git a/tests/process-global/curatedWindowsLane.test.ts b/tests/process-global/curatedWindowsLane.test.ts index 48a1edda6b..a926bf9b7f 100644 --- a/tests/process-global/curatedWindowsLane.test.ts +++ b/tests/process-global/curatedWindowsLane.test.ts @@ -99,6 +99,18 @@ describe("curated Windows test lane", () => { ); }); + it("keeps Windows-only path and snapshot admission cases in the lane", async () => { + // These files have cases that run only on Windows, so outside this lane + // CI never executes them. + expect(await explicitPaths("windows")).toEqual( + expect.arrayContaining([ + "src/contracts/sessionPathInputs.test.ts", + "tests/boundary/filesystem/directAnalysisSnapshotReplay.test.ts", + "tests/boundary/mcp/rawBinaryMcp.test.ts", + ]), + ); + }); + it("keeps Windows runner cancellation coverage in the lane", async () => { expect(await explicitPaths("windows")).toEqual( expect.arrayContaining([