diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a17f5c5..b00519d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,9 +61,30 @@ jobs: name: cibw-sdist path: dist/*.tar.gz + test_wheels_centos_stream_9: + name: Test wheels (CentOS Stream 9) + needs: [build_wheels] + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream9 + steps: + - name: Install Python + run: dnf install -y python3.11 python3.11-pip + + - uses: actions/download-artifact@v4 + with: + pattern: cibw-wheels-ubuntu-* + path: wheelhouse + merge-multiple: true + + - name: Install and test wheel + run: | + python3.11 -m pip install --upgrade pip + python3.11 -m pip install netgraph-core --find-links wheelhouse/ + python3.11 -c "import netgraph_core; print('CentOS Stream 9:', netgraph_core.__version__)" + publish_pypi: name: Publish to PyPI - needs: [build_wheels, build_sdist] + needs: [build_wheels, build_sdist, test_wheels_centos_stream_9] runs-on: ubuntu-latest environment: pypi permissions: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fa09e97..dd1f625 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,6 +27,34 @@ jobs: - name: Run CI checks (lint + C++/Python tests) run: make check-ci + test-centos-stream-9: + name: CentOS Stream 9 (py${{ matrix.python-version }}) + runs-on: ubuntu-latest + container: quay.io/centos/centos:stream9 + strategy: + fail-fast: false + matrix: + python-version: ["3.11", "3.12"] + steps: + - name: Install system dependencies + run: | + dnf install -y \ + gcc gcc-c++ make cmake git \ + python${{ matrix.python-version }} \ + python${{ matrix.python-version }}-devel \ + python${{ matrix.python-version }}-pip \ + libatomic + + - uses: actions/checkout@v4 + + - name: Install Python deps + run: | + python${{ matrix.python-version }} -m pip install -U pip wheel + python${{ matrix.python-version }} -m pip install -e .[dev] + + - name: Run CI checks + run: PYTHON=python${{ matrix.python-version }} make check-ci + coverage: name: Coverage (ubuntu, py3.11) runs-on: ubuntu-22.04