Skip to content

Conversation

@MatthewMckee4
Copy link
Member

Summary

  • Instead of creating a fresh venv (uv venv + uv pip install) for each of the ~312 integration tests on Windows, create the shared venv once and copy it into each test directory
  • This mirrors the Unix approach (which uses symlinks), but uses directory copying since Windows venv scripts have hardcoded paths that break with symlinks
  • Removes #[cfg(unix)] gates from SHARED_VENV, get_or_create_shared_venv, and cleanup_old_shared_venvs so they are available on all platforms
  • Adds a #[cfg(windows)] copy_dir helper and fixes the venv python path to use Scripts/python.exe on Windows

Test plan

  • just test — all 628 tests pass on macOS (Unix path unchanged)
  • prek run -a — all pre-commit checks pass
  • Windows CI (windows-latest) will exercise the new copy-based path automatically

@codspeed-hq
Copy link

codspeed-hq bot commented Feb 11, 2026

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 1 untouched benchmark


Comparing fix/windows-shared-venv-copy (6de8b84) with main (15d82f3)

Open in CodSpeed

Instead of creating a fresh venv (uv venv + uv pip install) for each
of the ~312 integration tests on Windows, create the shared venv once
and hardlink its files into each test directory. Hardlinks are instant
(no data duplication) unlike full copies, and avoid the hardcoded-path
issues that prevent symlinks from working with Windows venvs.

This mirrors the Unix approach which uses symlinks for the same purpose.
@MatthewMckee4 MatthewMckee4 force-pushed the fix/windows-shared-venv-copy branch from 6700ed8 to 6de8b84 Compare February 11, 2026 14:49
@MatthewMckee4 MatthewMckee4 added the ci Related to internal CI tooling label Feb 11, 2026
@MatthewMckee4 MatthewMckee4 merged commit 9d59391 into main Feb 11, 2026
16 of 17 checks passed
@MatthewMckee4 MatthewMckee4 deleted the fix/windows-shared-venv-copy branch February 11, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to internal CI tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant