@@ -24,12 +24,23 @@ defaults:
2424jobs :
2525 python-test :
2626 runs-on : ${{ matrix.os }}
27- timeout-minutes : 90
27+ timeout-minutes : 240
2828 strategy :
2929 fail-fast : false
3030 matrix :
31- os : [ubuntu-latest, windows-latest, macOS-latest]
31+ # Full Python version matrix on Ubuntu (fast)
32+ os : [ubuntu-latest]
3233 python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
34+ include :
35+ # Windows/macOS: only test oldest and newest stable Python (slow platforms)
36+ - os : windows-latest
37+ python-version : " 3.10"
38+ - os : windows-latest
39+ python-version : " 3.14"
40+ - os : macOS-latest
41+ python-version : " 3.10"
42+ - os : macOS-latest
43+ python-version : " 3.14"
3344
3445 steps :
3546 - name : Free Disk Space (Ubuntu)
@@ -139,6 +150,13 @@ jobs:
139150 Write-Host "Verifying LLVM installation..."
140151 cargo run -p pecos --features cli --release -- llvm check
141152
153+ - name : Install PECOS CLI (Windows)
154+ if : runner.os == 'Windows'
155+ shell : pwsh
156+ run : |
157+ Write-Host "Installing PECOS CLI..."
158+ cargo install --path crates/pecos --features cli
159+
142160 - name : Build and test PECOS (Windows)
143161 if : runner.os == 'Windows'
144162 shell : pwsh
@@ -225,6 +243,12 @@ jobs:
225243 just build-debug
226244 just pytest-all
227245
246+ - name : Install PECOS CLI (non-Windows)
247+ if : runner.os != 'Windows'
248+ run : |
249+ echo "Installing PECOS CLI..."
250+ cargo install --path crates/pecos --features cli
251+
228252 - name : Build and test PECOS (non-Windows)
229253 if : runner.os != 'Windows'
230254 run : |
0 commit comments