@@ -16,16 +16,16 @@ jobs:
1616 source_check :
1717 name : source check
1818 runs-on : ubuntu-latest
19- strategy :
20- fail-fast : false
2119
2220 steps :
2321 - uses : actions/checkout@v4
22+ with :
23+ fetch-depth : " 0"
2424
25- - name : Set up Python 3.9
25+ - name : Set up Python 3.11
2626 uses : actions/setup-python@v5
2727 with :
28- python-version : 3.9
28+ python-version : 3.11
2929
3030 - name : Install dependencies
3131 run : |
3434
3535 - name : black check
3636 run : |
37- python -m black --check --diff --color .
37+ python -m black --check --diff --color .
3838
3939 - name : isort check
4040 run : |
@@ -50,49 +50,48 @@ jobs:
5050 strategy :
5151 fail-fast : false
5252 matrix :
53- # macos-13 is an intel runner, macos-14 is apple silicon
54- os : [ubuntu-latest, windows-latest, macos-13, macos-14]
53+ os : [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest] # windows-11-arm (no scipy)
5554
5655 steps :
5756 - uses : actions/checkout@v4
5857 with :
59- fetch-depth : ' 0 '
58+ fetch-depth : " 0 "
6059
6160 - name : Build wheels
62- uses : pypa/cibuildwheel@v2.18.0
61+ uses : pypa/cibuildwheel@v3.2.1
6362 with :
64- output-dir : dist
63+ output-dir : dist-wheel-${{ matrix.os }}
6564
66- - uses : actions/upload-artifact@v3
65+ - uses : actions/upload-artifact@v4
6766 with :
68- path : ./dist/*.whl
67+ name : dist-wheel-${{ matrix.os }}
68+ path : ./dist-wheel-${{ matrix.os }}/*.whl
6969
7070 build_sdist :
71- name : sdist on ${{ matrix.os }} with py ${{ matrix.ver.py }} numpy${{ matrix.ver.np }} scipy${{ matrix.ver.sp }}
71+ name : sdist on ${{ matrix.os }} with py== ${{ matrix.ver.py }} numpy${{ matrix.ver.np }} scipy${{ matrix.ver.sp }} sklearn${{ matrix.ver.sk }}
7272 runs-on : ${{ matrix.os }}
7373 strategy :
7474 fail-fast : false
7575 matrix :
76- os : [ubuntu-latest, windows-latest, macos-13, macos-14]
77- # https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg
76+ os :
77+ [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-14]
7878 ver :
79- - {py: '3.8', np: '==1.20.0', sp: '==1.5.4'}
80- - {py: '3.9', np: '==1.20.0', sp: '==1.5.4'}
81- - {py: '3.10', np: '==1.21.6', sp: '==1.7.2'}
82- - {py: '3.11', np: '==1.23.2', sp: '==1.9.2'}
83- - {py: '3.12', np: '==1.26.2', sp: '==1.11.2'}
84- - {py: '3.12', np: '>=2.0.0rc1', sp: '>=1.13.0'}
79+ - { py: "3.9", np: "==1.20.0", sp: "==1.5.4", sk: "==0.24.0" }
80+ - { py: "3.10", np: "==1.21.6", sp: "==1.7.2", sk: "==1.0.2" }
81+ - { py: "3.11", np: "==1.23.2", sp: "==1.9.2", sk: "==1.1.3" }
82+ - { py: "3.12", np: "==1.26.2", sp: "==1.11.2", sk: "==1.3.1" }
83+ - { py: "3.13", np: "==2.1.0", sp: "==1.14.1", sk: "==1.5.2" }
84+ - { py: "3.14", np: "==2.3.2", sp: "==1.16.1", sk: "==1.7.2" }
85+ - { py: "3.14", np: ">=2.3.2", sp: ">=1.16.1", sk: ">=1.7.2" }
8586 exclude :
8687 - os : macos-14
87- ver : {py: '3.8', np: '==1.20.0', sp: '==1.5.4'}
88- - os : macos-14
89- ver : {py: '3.9', np: '==1.20.0', sp: '==1.5.4'}
88+ ver : { py: "3.9", np: "==1.20.0", sp: "==1.5.4", sk: "==0.24.0" }
9089 - os : macos-14
91- ver : {py: ' 3.10' , np: ' ==1.21.6' , sp: ' ==1.7.2' }
90+ ver : { py: " 3.10" , np: " ==1.21.6" , sp: " ==1.7.2", sk: "==1.0.2" }
9291 steps :
9392 - uses : actions/checkout@v4
9493 with :
95- fetch-depth : ' 0 '
94+ fetch-depth : " 0 "
9695
9796 - name : Set up Python ${{ matrix.ver.py }}
9897 uses : actions/setup-python@v5
@@ -102,41 +101,74 @@ jobs:
102101 - name : Install dependencies
103102 run : |
104103 python -m pip install --upgrade pip
105- pip install build "coveralls>=3.0.0"
104+ pip install build
106105
107- - name : Install PyKrige
106+ - name : Install pykrige
108107 run : |
109108 pip install -v --editable .[test]
110109
110+ - name : Install pinned dependencies
111+ run : |
112+ pip install "numpy${{ matrix.ver.np }}" "scipy${{ matrix.ver.sp }}" "scikit-learn${{ matrix.ver.sk }}"
113+
111114 - name : Run tests
112- env :
113- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
114115 run : |
115- pip install "numpy${{ matrix.ver.np }}" "scipy${{ matrix.ver.sp }}"
116- python -m pytest --cov pykrige --cov-report term-missing -v tests/
117- python -m coveralls --service=github
116+ python -m pytest -v tests/
118117
119118 - name : Build sdist
120119 run : |
121120 # PEP 517 package builder from pypa
122- python -m build --sdist --outdir dist .
121+ python -m build --sdist --outdir dist-sdist .
123122
124- - uses : actions/upload-artifact@v3
125- if : matrix.os == 'ubuntu-latest' && matrix.ver.py == '3.9 '
123+ - uses : actions/upload-artifact@v4
124+ if : matrix.os == 'ubuntu-latest' && matrix.ver.py == '3.11 '
126125 with :
127- path : dist/*.tar.gz
126+ name : dist-sdist
127+ path : dist-sdist/*.tar.gz
128+
129+ coverage :
130+ name : coverage
131+ runs-on : ubuntu-latest
132+ steps :
133+ - uses : actions/checkout@v4
134+ with :
135+ fetch-depth : ' 0'
136+
137+ - name : Set up Python 3.11
138+ uses : actions/setup-python@v5
139+ with :
140+ python-version : 3.11
141+
142+ - name : Install dependencies
143+ run : |
144+ python -m pip install --upgrade pip
145+ pip install "coveralls>=3.0.0"
146+
147+ - name : Install pykrige
148+ run : |
149+ pip install -v --editable .[test]
150+
151+ - name : Run tests
152+ env :
153+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
154+ run : |
155+ pip install "numpy${{ matrix.ver.np }}"
156+ python -m pytest --cov pykrige --cov-report term-missing -v tests/
157+ python -m coveralls --service=github
128158
129159 upload_to_pypi :
130160 needs : [build_wheels, build_sdist]
131161 runs-on : ubuntu-latest
132162
133163 steps :
134- - uses : actions/download-artifact@v2
164+ - uses : actions/download-artifact@v4
135165 with :
136- name : artifact
166+ pattern : dist-*
167+ merge-multiple : true
137168 path : dist
138169
139170 - name : Publish to Test PyPI
171+ # only if working on main
140172 if : github.ref == 'refs/heads/main'
141173 uses : pypa/gh-action-pypi-publish@release/v1
142174 with :
0 commit comments