From 38ff8bcca9b94d81fc0eab8a720cb051c24b4453 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:12:13 +0000 Subject: [PATCH 1/2] Initial plan From 64babb1e11ea5a0fce65dcdc6054ea6d707230a0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:19:20 +0000 Subject: [PATCH 2/2] Add CI improvements: prefer-binary, no-cache-dir, force-reinstall, and single test reproduction step Co-authored-by: LuminLynx <212206643+LuminLynx@users.noreply.github.com> --- .github/workflows/ci.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a27b2a..7f0c15a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 @@ -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: | @@ -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: |