Skip to content

New style namespace packages #95

New style namespace packages

New style namespace packages #95

name: basemap-data-hires
env:
PKGDIR: "packages/basemap_data_hires"
PIP_DEFAULT_TIMEOUT: 10
PIP_DISABLE_PIP_VERSION_CHECK: 1
PIP_PREFER_BINARY: 1
PIP_RETRIES: 0
PYTHONUNBUFFERED: "1"
PYTHONWARNINGS: "ignore:DEPRECATION"
on:
push:
paths:
- ".github/workflows/basemap-data-hires.yml"
- "packages/basemap_data_hires/**"
pull_request:
paths:
- ".github/workflows/basemap-data-hires.yml"
- "packages/basemap_data_hires/**"
workflow_dispatch:
jobs:
checkout:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Upload checkout
uses: actions/upload-artifact@v4
with:
name: checkout
path: .
build:
strategy:
matrix:
python-version:
["3.5"]
max-parallel: 1
needs: checkout
runs-on: ubuntu-latest
container: "pylegacy/python:${{ matrix.python-version }}-debian-10"
steps:
-
name: Download checkout
uses: actions/download-artifact@v4
with:
name: checkout
path: .
-
name: Build sdist and wheel
run: |
cd ${{ env.PKGDIR }}
python setup.py sdist
pip wheel -w dist --no-deps dist/*.zip
-
name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-build
path: ${{ env.PKGDIR }}/dist
test:
strategy:
matrix:
python-version:
["3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
max-parallel: 3
fail-fast: false
needs: build
runs-on: ubuntu-latest
container: "pylegacy/python:${{ matrix.python-version }}-debian-10"
steps:
-
name: Download checkout
uses: actions/download-artifact@v4
with:
name: checkout
path: .
-
name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifacts-build
path: ${{ env.PKGDIR }}/dist
-
name: Install package
run: |
pip install ${{ env.PKGDIR }}/dist/*.whl
-
name: Test package
run: |
python -c "from mpl_toolkits import basemap_data; print(basemap_data)"
upload:
strategy:
matrix:
python-version:
["3.5"]
max-parallel: 1
if: startsWith(github.event.ref, 'refs/tags/v')
needs: test
runs-on: ubuntu-latest
container: "pylegacy/python:${{ matrix.python-version }}-debian-10"
environment: PyPI
steps:
-
name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: artifacts-build
path: ${{ env.PKGDIR }}/dist
-
name: Install upload requirements
run: |
pip install twine
-
name: Check distributables
run: |
python -m twine check \
${{ env.PKGDIR }}/dist/*.zip \
${{ env.PKGDIR }}/dist/*.whl
-
name: Upload distributables
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: "${{ secrets.PYPI_TOKEN }}"
TWINE_REPOSITORY_URL: "${{ secrets.PYPI_REPOSITORY_URL }}"
run: |
python -m twine upload --skip-existing \
${{ env.PKGDIR }}/dist/*.zip \
${{ env.PKGDIR }}/dist/*.whl