Skip to content

Commit 0e9eebb

Browse files
ci: add Windows unit-test job to catch OS-specific path bugs
The CI matrix ran Linux-only, so platform-specific defects — e.g. #1520, where file-protocol paths rendered with native backslashes broke garbage collection on Windows — could not be caught. Add a windows-latest leg running the container-free unit suite across both ends of the supported Python range (3.10, 3.14). pixi targets linux/osx only ([tool.pixi] platforms), so this leg installs via pip (.[test]) rather than pixi. Unit tests need no containers, so no Docker/DB is required on Windows.
1 parent afc350f commit 0e9eebb

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

.github/workflows/test.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,32 @@ jobs:
6868

6969
- name: Run unit tests
7070
run: pixi run -e test pytest tests/unit -v
71+
72+
# Windows unit tests: guard OS-specific behavior (path separators, etc.) that
73+
# the Linux jobs above cannot catch — e.g. #1520, where file-protocol paths
74+
# rendered with native backslashes broke garbage collection on Windows.
75+
# pixi targets linux/osx only (see [tool.pixi] platforms), so this leg uses
76+
# pip. Unit tests need no containers, so no Docker/DB is required on Windows.
77+
unit-tests-windows:
78+
runs-on: windows-latest
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
# Exercise both ends of the supported range (requires-python >=3.10,<3.15).
83+
python-version: ["3.10", "3.14"]
84+
name: unit-tests-windows (py${{ matrix.python-version }})
85+
steps:
86+
- uses: actions/checkout@v4
87+
with:
88+
fetch-depth: 0 # hatch-vcs derives the version from git history/tags
89+
90+
- name: Set up Python
91+
uses: actions/setup-python@v5
92+
with:
93+
python-version: ${{ matrix.python-version }}
94+
95+
- name: Install package with test extras
96+
run: pip install -e ".[test]"
97+
98+
- name: Run unit tests
99+
run: pytest tests/unit -v

0 commit comments

Comments
 (0)