ci: add windows-latest to test matrix#65
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #61
Summary
Add
windows-latestto 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.py—msvcrt.locking(existing tests only mockedmsvcrton Linux)utils/session_path.py—get_claude_projects_dir()usesUSERPROFILEwhenplatform.system() == "Windows"Changes
.github/workflows/ci.ymlos: [ubuntu-latest, windows-latest]withfail-fast: falseforpytest,integration-tests, andjs-testscoverage-report-${{ matrix.os }}mypyandprod-install-smokeunchanged (Ubuntu only)tests/test_export_state_store.pytest_export_state_lock_real_msvcrt_roundtrip— runs onwin32only; uses realmsvcrtviaexport_state_lock+atomic_write_export_statetests/test_session_path.py(new)test_get_claude_projects_dir_uses_userprofile_on_windows— mocked Windows +USERPROFILEtest_get_claude_projects_dir_on_windows_runner— native Windows runnerCONTRIBUTING.mdTest plan
pytest -qlocally on Windows (348 passed)npm testlocally on Windows (39 passed)pytest× 2 OS greenintegration-tests× 2 OS greenjs-tests× 2 OS greenmypy+prod-install-smokestill green on UbuntuOut of scope
export_countdeprecation (Thursday #4)Summary by CodeRabbit
Tests
Chores
Documentation