99
1010jobs :
1111
12+ checkout :
13+ runs-on : ubuntu-latest
14+ steps :
15+ -
16+ name : Checkout
17+ uses : actions/checkout@v2
18+ -
19+ name : Upload checkout
20+ uses : actions/upload-artifact@v1
21+ with :
22+ name : checkout
23+ path : .
24+
1225 build-geos :
1326 strategy :
1427 matrix :
@@ -19,12 +32,16 @@ jobs:
1932 ]
2033 max-parallel : 2
2134 fail-fast : false
35+ needs : checkout
2236 runs-on : ubuntu-latest
2337 container : " pylegacy/${{ matrix.arch }}-python:3.6-debian-4"
2438 steps :
2539 -
26- name : Checkout
27- uses : actions/checkout@v1
40+ name : Download checkout
41+ uses : actions/download-artifact@v1
42+ with :
43+ name : checkout
44+ path : .
2845 -
2946 name : Install CMake 3.6.2
3047 run : |
@@ -74,15 +91,18 @@ jobs:
7491 " 3.8" ,
7592 " 3.9" ,
7693 ]
77- max-parallel : 6
94+ max-parallel : 3
7895 fail-fast : false
7996 needs : build-geos
8097 runs-on : ubuntu-latest
8198 container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-4"
8299 steps :
83100 -
84- name : Checkout
85- uses : actions/checkout@v1
101+ name : Download checkout
102+ uses : actions/download-artifact@v1
103+ with :
104+ name : checkout
105+ path : .
86106 -
87107 name : Download GEOS artifacts
88108 uses : actions/download-artifact@v1
@@ -149,15 +169,12 @@ jobs:
149169 " 3.8" ,
150170 " 3.9" ,
151171 ]
152- max-parallel : 6
172+ max-parallel : 3
153173 fail-fast : false
154174 needs : build
155175 runs-on : ubuntu-latest
156176 container : " pylegacy/${{ matrix.arch }}-python:3.6-debian-5"
157177 steps :
158- -
159- name : Checkout
160- uses : actions/checkout@v1
161178 -
162179 name : Download GEOS artifacts
163180 uses : actions/download-artifact@v1
@@ -214,6 +231,81 @@ jobs:
214231 name : artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }}
215232 path : ${{ env.PKGDIR }}/dist
216233
234+ test :
235+ strategy :
236+ matrix :
237+ arch :
238+ [
239+ " x64" ,
240+ " x86" ,
241+ ]
242+ python-version :
243+ [
244+ " 2.7" ,
245+ " 3.5" ,
246+ " 3.6" ,
247+ " 3.7" ,
248+ " 3.8" ,
249+ " 3.9" ,
250+ ]
251+ max-parallel : 3
252+ fail-fast : false
253+ needs : repair
254+ runs-on : ubuntu-latest
255+ container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5"
256+ steps :
257+ -
258+ name : Download checkout
259+ uses : actions/download-artifact@v1
260+ with :
261+ name : checkout
262+ path : .
263+ -
264+ name : Download build artifacts
265+ uses : actions/download-artifact@v1
266+ with :
267+ name : artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }}
268+ path : ${{ env.PKGDIR }}/dist
269+ -
270+ name : Install GCC toolchain
271+ run : |
272+ apt-get update
273+ apt-get install -y gcc g++ make
274+ -
275+ name : Install matplotlib dependencies
276+ run : |
277+ apt-get update
278+ apt-get install -y libfreetype6-dev libpng12-dev
279+ if : matrix.arch == 'x86' && matrix.python-version == '3.5'
280+ -
281+ name : Install pyproj manually
282+ run : |
283+ 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
300+ -
301+ name : Install package
302+ run : |
303+ pip install --prefer-binary ${{ env.PKGDIR }}/dist/*-manylinux1*.whl
304+ -
305+ name : Test package
306+ run : |
307+ python -c "from mpl_toolkits.basemap import Basemap"
308+
217309 upload :
218310 strategy :
219311 matrix :
@@ -233,14 +325,11 @@ jobs:
233325 ]
234326 max-parallel : 1
235327 if : startsWith(github.event.ref, 'refs/tags/v')
236- needs : repair
328+ needs : test
237329 runs-on : ubuntu-latest
238330 container : " pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5"
239331 environment : PyPI
240332 steps :
241- -
242- name : Checkout
243- uses : actions/checkout@v1
244333 -
245334 name : Download build artifacts
246335 uses : actions/download-artifact@v1
0 commit comments