Skip to content
Draft
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
19 changes: 13 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,18 @@ jobs:
pip cache purge || true
# Use binary wheels to avoid build issues with Python 3.12+
# numpy>=1.26.0 required for Python 3.12 support
pip install --only-binary=:all: numpy scipy
python -m pip install pytest pytest-cov
python -m pip install -r requirements.txt
# Force reinstall numpy/scipy with --prefer-binary and --no-cache-dir to avoid ABI mismatches
pip install --prefer-binary --no-cache-dir --force-reinstall --only-binary=:all: numpy scipy
python -m pip install --prefer-binary --no-cache-dir pytest pytest-cov
python -m pip install --prefer-binary --no-cache-dir -r requirements.txt
# If segfaults persist, consider switching to conda-forge for numpy/scipy.

- name: Run single test for reproduction
run: |
# Run a single test first to verify the environment is working
python -X faulthandler -m pytest tests/test_audio_processor.py::TestEqualizerBand::test_initialization -v
continue-on-error: false

- name: Run tests
run: |
python -X faulthandler -m pytest tests/ -v --maxfail=1 --cov=python-equalizer --cov-report=xml --cov-report=term
Expand Down Expand Up @@ -83,8 +90,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install black flake8 pylint mypy isort
pip install --only-binary=:all: numpy scipy PyQt5
pip install --prefer-binary --no-cache-dir black flake8 pylint mypy isort
pip install --prefer-binary --no-cache-dir --only-binary=:all: numpy scipy PyQt5

- name: Check code formatting with Black
run: |
Expand Down Expand Up @@ -127,7 +134,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install --only-binary=:all: numpy scipy PyQt5
pip install --prefer-binary --no-cache-dir --only-binary=:all: numpy scipy PyQt5

- name: Run examples
run: |
Expand Down