@@ -250,6 +250,91 @@ jobs:
250
250
exit 1
251
251
fi
252
252
253
+ docs :
254
+ name : Build documentation
255
+ needs : [build_wheels]
256
+ runs-on : ubuntu-22.04
257
+ steps :
258
+ - uses : actions/checkout@v4
259
+
260
+ - name : Set up Python
261
+ uses : actions/setup-python@v5
262
+ with :
263
+ python-version : " 3.9"
264
+
265
+ - name : Download basemap wheel for Linux
266
+ uses : actions/download-artifact@v4
267
+ with :
268
+ name : dist-basemap-wheels-ubuntu-22.04
269
+ path : ./wheels/
270
+
271
+ - name : Download data packages
272
+ uses : actions/download-artifact@v4
273
+ with :
274
+ pattern : dist-basemap_data*
275
+ path : ./data_packages/
276
+ merge-multiple : true
277
+
278
+ - name : Install packages
279
+ run : |
280
+ # Get Python version to find matching wheel
281
+ PYTHON_VERSION=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
282
+ echo "Using Python $PYTHON_VERSION"
283
+
284
+ # Install matching wheel for Linux
285
+ MATCHING_WHEEL=$(find ./wheels -name "basemap-*-cp3${PYTHON_VERSION/./}*.whl" | head -1)
286
+ if [ -n "$MATCHING_WHEEL" ]; then
287
+ echo "Installing wheel: $MATCHING_WHEEL"
288
+ python -m pip install "$MATCHING_WHEEL"
289
+ else
290
+ echo "No matching wheel found for Python $PYTHON_VERSION. Available wheels:"
291
+ ls -la ./wheels/
292
+ echo "Falling back to installing any available wheel..."
293
+ python -m pip install ./wheels/*.whl
294
+ fi
295
+
296
+ # Install data packages
297
+ echo "Installing data packages..."
298
+ python -m pip install ./data_packages/*.whl
299
+
300
+ - name : Install documentation requirements
301
+ run : |
302
+ cd packages/basemap
303
+ python -m pip install -r requirements-doc.txt
304
+
305
+ - name : Build documentation
306
+ run : |
307
+ cd packages/basemap
308
+ python -m sphinx doc/source public
309
+
310
+ - name : Upload docs artifacts
311
+ uses : actions/upload-artifact@v4
312
+ with :
313
+ name : docs-artifact
314
+ path : packages/basemap/public
315
+
316
+ - name : Upload github-pages artifact
317
+ uses : actions/upload-pages-artifact@v3
318
+ with :
319
+ name : github-pages
320
+ path : packages/basemap/public
321
+
322
+ pages :
323
+ name : Deploy documentation
324
+ if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
325
+ needs : [docs, check]
326
+ runs-on : ubuntu-22.04
327
+ environment :
328
+ name : github-pages
329
+ url : ${{ steps.deployment.outputs.page_url }}
330
+ permissions :
331
+ pages : write
332
+ id-token : write
333
+ steps :
334
+ - name : Deploy github-pages
335
+ uses : actions/deploy-pages@v3
336
+ id : deployment
337
+
253
338
upload :
254
339
name : Upload packages
255
340
needs : [build_data, build_sdist, build_wheels, check]
0 commit comments