Closed
Labels
choreMaintenance: deps, build tooling, CI, cleanup — no user-facing behavior changeMaintenance: deps, build tooling, CI, cleanup — no user-facing behavior changev2
Milestone
Description
Is your feature request related to a problem? Please describe.
Many Windows-specific issues are hard to catch early since the current CI workflows only run on Ubuntu runners. This makes it difficult to verify Windows compatibility until issues are reported by users, leading to a slower feedback loop for Windows-related bugs.
Describe the solution you'd like
Add Windows runners to the CI workflow by creating a new dedicated testing workflow that:
- Runs tests on both Ubuntu and Windows using GitHub's hosted runners
- Uses a matrix strategy to test both TypeScript and Python packages
- Runs in parallel with existing build workflows
- Provides early feedback on Windows compatibility for all PRs
Example workflow configuration:
name: Cross-Platform Tests
on:
push:
branches: [ main ]
pull_request:
jobs:
test-typescript:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
node-version: [22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm testDisclaimer: This ^^ is a quickly edited Claude suggestion so it may contain syntax errors.
Describe alternatives you've considered
-
Modify existing workflows: Add Windows runners to typescript.yml and python.yml
- Pro: Keeps CI config in fewer files
- Con: Makes existing workflows more complex
-
Separate Windows-only workflows
- Pro: Simpler to maintain
- Con: Duplicates config between OS-specific workflows
Additional context
- Implementation can be done incrementally:
- Add Windows testing for TypeScript packages
- Extend to Python packages once TypeScript integration is verified
Metadata
Metadata
Assignees
Labels
choreMaintenance: deps, build tooling, CI, cleanup — no user-facing behavior changeMaintenance: deps, build tooling, CI, cleanup — no user-facing behavior changev2
Activity
test(git): close the fixture repository before removing it
test(git): close the fixture repository before removing it
test(git): close the fixture repository before removing it
test(git): close the fixture repository before removing it
test: make the filesystem and git suites pass on Windows (#1149)
test(git): write LF fixtures with newline="\n" so Windows keeps LF (#…
cliffhall commentedon Oct 5, 2026
Fixed by #5047, merged into
v2/main.chore(ci): run the test suites on Windows runners (modelcontextprotoc…