Work with matplotlib >= v3.9.0 #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
on: | |
push: | |
branches: | |
- "main" | |
tags: | |
- "*" | |
pull_request: | |
branches: | |
- "main" | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
# needed by coveralls | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
source_check: | |
name: source check | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
# Spatial system dependencies | |
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable | |
sudo apt update | |
sudo apt install \ | |
libudunits2-dev \ | |
libgdal-dev \ | |
libgeos-dev \ | |
libproj-dev | |
python -m pip install --upgrade pip | |
pip install --editable . | |
build_sdist: | |
name: sdist on ${{ matrix.os }} with py ${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
# exclude: | |
# 3.6 uses proj v19 that does not work with newer versions of canopy | |
# - os: macos-latest | |
# python-version: '3.10' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: '0' | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies on Linux | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
# Spatial system dependencies | |
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable | |
sudo apt update | |
sudo apt install \ | |
libudunits2-dev \ | |
libgdal-dev \ | |
libgeos-dev \ | |
libproj-dev | |
python -m pip install --upgrade pip | |
pip install build coveralls>=3.0.0 | |
pip install --editable .[test] | |
- name: Install dependencies on macOS | |
if: matrix.os == 'macos-latest' | |
run: | | |
# Spatial system dependencies | |
brew install geos | |
brew install proj | |
python -m pip install --upgrade pip | |
pip install build coveralls>=3.0.0 | |
pip install --editable .[test] | |
# - name: Run tests | |
# run: | | |
# python -m pytest --cov ncvue --cov-report term-missing -v tests/ | |
# python -m coveralls --service=github | |
- name: Build sdist | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
python -m build | |
- uses: actions/upload-artifact@v4 | |
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' | |
with: | |
path: dist | |
upload_to_pypi: | |
needs: [build_sdist] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: artifact | |
path: dist | |
- name: Publish to Test PyPI | |
# only if working on main | |
if: github.ref == 'refs/heads/main' | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.test_pypi_token }} | |
repository-url: https://test.pypi.org/legacy/ | |
skip-existing: true | |
# verbose: true | |
- name: Publish to PyPI | |
# only if tagged | |
if: startsWith(github.ref, 'refs/tags') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.pypi_token }} |