Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Comment on lines +70 to +71
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test job only installs Python 3.11, but wheels are built for Python 3.11, 3.12, and 3.13 (as specified in line 33). Consider testing with all three Python versions to ensure the wheels work correctly across all supported versions. The corresponding test job in tests.yml already tests Python 3.11 and 3.12.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The libatomic system dependency is missing but may be required at runtime. The build-from-source test job in tests.yml installs libatomic (line 46), and the wheel build configuration also ensures libatomic is available during the Linux build (line 43). Consider adding 'dnf install -y libatomic' to ensure the pre-built wheel can run correctly if it was linked against this library.

Suggested change
run: dnf install -y python3.11 python3.11-pip
run: dnf install -y python3.11 python3.11-pip libatomic

Copilot uses AI. Check for mistakes.

- 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/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict wheel test to local artifacts

This install command does not disable package indexes, so the CentOS validation step can succeed by installing netgraph-core from PyPI instead of the wheel built earlier in this workflow. pip install --help documents --no-index as required to “ignore package index (only looking at --find-links URLs instead),” so without it this job may miss a broken generated wheel whenever the same version is already available on an index (for example on PR runs or release reruns).

Useful? React with 👍 / 👎.

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:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down