11name : Testing
22
3- on :
4- push :
5- branches :
6- - ' main'
7- tags :
8- - ' v*'
9- pull_request :
10- branches :
11- - ' *'
3+ on : [push, pull_request]
124
135jobs :
146 build-and-test :
@@ -20,10 +12,13 @@ jobs:
2012 strategy :
2113 fail-fast : false
2214 matrix :
23- # NOTE: macOS-13 is the last Intel runner.
24- os : [ubuntu-latest, windows-latest, macOS-13, macOS-latest]
15+ os : [ubuntu-latest, windows-latest, macOS-15-intel, macOS-latest]
2516 solver : [mumps, pardiso]
26- python-version : ['3.10', '3.11', '3.12']
17+ python-version : ['3.11', '3.12', '3.13', '3.14']
18+ include :
19+ - os : ubuntu-latest
20+ python-version : ' 3.13'
21+ full-test : true
2722 exclude :
2823 - os : macOS-latest
2924 solver : pardiso
@@ -63,22 +58,22 @@ jobs:
6358 make coverage
6459
6560 - name : Generate Source Distribution
66- if : ${{ ( matrix.os == 'ubuntu-latest') && (matrix.python-version == '3.11') }}
61+ if : ${{ matrix.full-test }}
6762 run : |
6863 pip install build twine
6964 python -m build --sdist .
7065 twine check dist/*
7166
7267 - name : Test Documentation
73- if : ${{ ( matrix.os == 'ubuntu-latest') && (matrix.python-version == '3.11') }}
68+ if : ${{ matrix.full-test }}
7469 run : |
7570 pip install .[docs]
7671 cd docs
7772 make html
7873 cd ..
7974
8075 - name : Upload coverage
81- if : ${{ ( matrix.os == 'ubuntu-latest') && (matrix.python-version == '3.11') }}
76+ if : ${{ matrix.full-test }}
8277 uses : codecov/codecov-action@v4
8378 with :
8479 verbose : true # optional (default = false)
9489 run :
9590 shell : bash -l {0}
9691 env :
97- PYTHON_VERSION : ' 3.11 '
92+ PYTHON_VERSION : ' 3.13 '
9893
9994 steps :
10095 - uses : actions/checkout@v4
0 commit comments