55
66on :
77 push :
8+ paths :
9+ - " .github/workflows/basemap-for-manylinux.yml"
10+ - " packages/basemap/**"
11+ pull_request :
12+ paths :
13+ - " .github/workflows/basemap-for-manylinux.yml"
14+ - " packages/basemap/**"
815 workflow_dispatch :
916
1017jobs :
2633 strategy :
2734 matrix :
2835 arch :
29- [
30- " x64" ,
31- " x86" ,
32- ]
36+ ["x64", "x86"]
3337 max-parallel : 2
3438 fail-fast : false
3539 needs : checkout
7882 strategy :
7983 matrix :
8084 arch :
81- [
82- " x64" ,
83- " x86" ,
84- ]
85+ ["x64", "x86"]
8586 python-version :
86- [
87- " 2.7" ,
88- " 3.5" ,
89- " 3.6" ,
90- " 3.7" ,
91- " 3.8" ,
92- " 3.9" ,
93- ]
87+ ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"]
9488 max-parallel : 3
9589 fail-fast : false
9690 needs : build-geos
@@ -123,12 +117,14 @@ jobs:
123117 name : Generate NumPy headers
124118 run : |
125119 case "${{ matrix.python-version }}" in
126- 2.[67]|3.[01234]) pkgvers=1.11.3;;
127- *) pkgvers=1.16.6;;
120+ 2.6|3.[23]) pkgvers=1.11.3;;
121+ 2.7|3.[456789]) pkgvers=1.16.6;;
122+ *) pkgvers=1.21.4;;
128123 esac
129124 pkgname=numpy
130125 pkgcode=numpy-${pkgvers}
131- python -m pip download --no-binary=:all: "numpy == ${pkgvers}"
126+ python -m pip install cython
127+ python -m pip download --no-binary=numpy "numpy == ${pkgvers}"
132128 unzip ${pkgcode}.zip
133129 rm -f ${pkgcode}.zip
134130 cd ${pkgcode}
@@ -156,24 +152,14 @@ jobs:
156152 strategy :
157153 matrix :
158154 arch :
159- [
160- " x64" ,
161- " x86" ,
162- ]
155+ ["x64", "x86"]
163156 python-version :
164- [
165- " 2.7" ,
166- " 3.5" ,
167- " 3.6" ,
168- " 3.7" ,
169- " 3.8" ,
170- " 3.9" ,
171- ]
157+ ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"]
172158 max-parallel : 3
173159 fail-fast : false
174160 needs : build
175161 runs-on : ubuntu-latest
176- container : " pylegacy/${{ matrix.arch }}-python:3.6-debian-5 "
162+ container : " pylegacy/${{ matrix.arch }}-python:3.6-debian-8 "
177163 steps :
178164 -
179165 name : Download GEOS artifacts
@@ -187,33 +173,16 @@ jobs:
187173 with :
188174 name : artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }}
189175 path : ${{ env.PKGDIR }}/dist
190- -
191- name : Install GCC toolchain
192- run : |
193- apt-get update
194- apt-get install -y gcc g++ make
195176 -
196177 name : Install unzip
197178 run : |
198179 apt-get update
199180 apt-get install -y unzip
200181 -
201- name : Install patchelf from source
182+ name : Install patchelf
202183 run : |
203- pkgvers=0.9
204- pkgname=patchelf
205- pkgcode=${pkgname}-${pkgvers}
206- cd /tmp
207- wget https://releases.nixos.org/${pkgname}/${pkgcode}/${pkgcode}.tar.gz
208- tar -xf ${pkgcode}.tar.gz
209- rm -f ${pkgcode}.tar.gz
210- cd ${pkgcode}
211- ./configure
212- make
213- make check
214- make install
215- cd ..
216- rm -rf ${pkgcode}
184+ pip install patchelf
185+ alias patchelf="python -m patchelf"
217186 -
218187 name : Install auditwheel
219188 run : |
@@ -235,24 +204,14 @@ jobs:
235204 strategy :
236205 matrix :
237206 arch :
238- [
239- " x64" ,
240- " x86" ,
241- ]
207+ ["x64", "x86"]
242208 python-version :
243- [
244- " 2.7" ,
245- " 3.5" ,
246- " 3.6" ,
247- " 3.7" ,
248- " 3.8" ,
249- " 3.9" ,
250- ]
209+ ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"]
251210 max-parallel : 3
252211 fail-fast : false
253212 needs : repair
254213 runs-on : ubuntu-latest
255- container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5 "
214+ container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-8 "
256215 steps :
257216 -
258217 name : Download checkout
@@ -266,37 +225,20 @@ jobs:
266225 with :
267226 name : artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }}
268227 path : ${{ env.PKGDIR }}/dist
269- -
270- name : Install GCC toolchain
271- run : |
272- apt-get update
273- apt-get install -y gcc g++ make
274228 -
275229 name : Install matplotlib dependencies
276230 run : |
277231 apt-get update
278- apt-get install -y libfreetype6-dev libpng12-dev
232+ apt-get install -y gcc g++ make
233+ apt-get install -y pkg-config libfreetype6-dev libpng12-dev
279234 if : matrix.arch == 'x86' && matrix.python-version == '3.5'
280235 -
281- name : Install pyproj manually
236+ name : Install numpy from source
282237 run : |
283238 apt-get update
284- apt-get install -y proj-bin libproj-dev
285- python -m pip install cython
286- pkgname=pyproj
287- pkgvers=${{ env.pyproj-version }}
288- pkgcode=${pkgname}-${pkgvers}
289- python -m pip download "pyproj == ${pkgvers}"
290- tar -xf ${pkgcode}.tar.gz
291- rm -rf ${pkgcode}.tar.gz
292- cd ${pkgcode}
293- rm _proj.c
294- python -m pip install .
295- cd ..
296- rm -rf ${pkgcode}
297- if : matrix.python-version == '3.9'
298- env :
299- pyproj-version : 1.9.6
239+ apt-get install -y gcc g++ make
240+ pip install "numpy < 1.21.5"
241+ if : matrix.arch == 'x86' && matrix.python-version == '3.10'
300242 -
301243 name : Install package
302244 run : |
@@ -310,24 +252,14 @@ jobs:
310252 strategy :
311253 matrix :
312254 arch :
313- [
314- " x64" ,
315- " x86" ,
316- ]
255+ ["x64", "x86"]
317256 python-version :
318- [
319- " 2.7" ,
320- " 3.5" ,
321- " 3.6" ,
322- " 3.7" ,
323- " 3.8" ,
324- " 3.9" ,
325- ]
257+ ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"]
326258 max-parallel : 1
327259 if : startsWith(github.event.ref, 'refs/tags/v')
328260 needs : test
329261 runs-on : ubuntu-latest
330- container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5 "
262+ container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-8 "
331263 environment : PyPI
332264 steps :
333265 -
0 commit comments