Skip to content

ci: add windows-latest to test matrix#65

Merged
wpak-ai merged 6 commits into
masterfrom
ci/windows-latest-matrix
Jun 3, 2026
Merged

ci: add windows-latest to test matrix#65
wpak-ai merged 6 commits into
masterfrom
ci/windows-latest-matrix

Conversation

@clean6378-max-it

@clean6378-max-it clean6378-max-it commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

closes #61

Summary

Add windows-latest to the CI test matrix so pytest, API integration tests, and Vitest run on both Ubuntu and Windows. Adds Windows-native tests for export-state locking (msvcrt.locking) and Claude projects path resolution (USERPROFILE).

Closes Chen June Week 1 sprint item #2 (5 pt).

Problem

CI previously ran only on ubuntu-latest. Two code paths differ on Windows but were never exercised on a real Windows runner:

  • utils/export_state_store.pymsvcrt.locking (existing tests only mocked msvcrt on Linux)
  • utils/session_path.pyget_claude_projects_dir() uses USERPROFILE when platform.system() == "Windows"

Changes

  • .github/workflows/ci.yml

    • Matrix os: [ubuntu-latest, windows-latest] with fail-fast: false for pytest, integration-tests, and js-tests
    • Coverage artifacts named coverage-report-${{ matrix.os }}
    • mypy and prod-install-smoke unchanged (Ubuntu only)
  • tests/test_export_state_store.py

    • test_export_state_lock_real_msvcrt_roundtrip — runs on win32 only; uses real msvcrt via export_state_lock + atomic_write_export_state
  • tests/test_session_path.py (new)

    • test_get_claude_projects_dir_uses_userprofile_on_windows — mocked Windows + USERPROFILE
    • test_get_claude_projects_dir_on_windows_runner — native Windows runner
  • CONTRIBUTING.md

    • Documents Ubuntu + Windows CI matrix

Test plan

  • pytest -q locally on Windows (348 passed)
  • npm test locally on Windows (39 passed)
  • GitHub Actions: pytest × 2 OS green
  • GitHub Actions: integration-tests × 2 OS green
  • GitHub Actions: js-tests × 2 OS green
  • GitHub Actions: mypy + prod-install-smoke still green on Ubuntu

Out of scope

Summary by CodeRabbit

  • Tests

    • Added Windows-specific tests for export-state locking and session-path handling to improve Windows compatibility and concurrency guarantees.
  • Chores

    • CI matrix expanded to run pytest, integration tests, and JS tests on both Ubuntu and Windows; per-OS coverage artifacts produced and matrix fail-fast disabled.
  • Documentation

    • CONTRIBUTING guide and PR checklist updated to reflect the expanded CI matrix and job expectations.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claude-code-chat-browser: Add windows-latest to CI test matrix

3 participants