Skip to content

ci: Update CI to include new packages, typing and tests #1

ci: Update CI to include new packages, typing and tests

ci: Update CI to include new packages, typing and tests #1

name: geosPythonPackages CI
on: pull_request
# Cancels in-progress workflows for a PR when updated
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
max-parallel: 3
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
package-name: ["geos-mesh", "geos-timehistory", "geos-xml-tools", "hdf5-wrapper", "geos-posp", "geos-prep", "geos-trame", "geos-xml-viewer"]
steps:
- uses: actions/checkout@v3
- uses: mpi4py/setup-mpi@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install package
# working-directory: ./${{ matrix.package-name }}
run: |
python -m pip install --upgrade pip
python -m pip install pytest yapf mypy toml pytest-cov
python -m pip install ${{ matrix.package-name }}/
- name: Typing check with mypy
# working-directory: ./${{ matrix.package-name }}
run: |
python -m mypy ./${{ matrix.package-name }} --namespace-packages --explicit-package-bases --disallow-subclassing-any --ignore-missing-import
- name: Lint with yapf
# working-directory: ./${{ matrix.package-name }}
run: |
yapf -r --diff ${{ matrix.package-name }} --style .style.yapf
- name: Test with pytest
#working-directory: ./${{ matrix.package-name }}
run: |
python -m pytest ./${{ matrix.package-name }}/tests/ --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html