Skip to content

CI: Add --prefer-binary, --no-cache-dir, --force-reinstall flags and single test reproduction step#17

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/fix-ci-install-requirements
Draft

CI: Add --prefer-binary, --no-cache-dir, --force-reinstall flags and single test reproduction step#17
Copilot wants to merge 2 commits intomainfrom
copilot/fix-ci-install-requirements

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 10, 2025

Description

Improves CI reliability by forcing binary wheels for numpy/scipy with cache bypass and adding early environment validation via single test execution.

Related Issue

Fixes #2

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test addition/improvement

Changes Made

  • Added --prefer-binary --no-cache-dir to all pip install commands across test, lint, and examples jobs
  • Added --force-reinstall for numpy/scipy installation to prevent ABI mismatches between cached and newly installed wheels
  • Added "Run single test for reproduction" step before full test suite to validate environment setup early

Testing

  • Existing tests pass
  • Added new tests for new functionality
  • Manually tested changes
  • Tested on multiple Python versions (if applicable)

Test Commands Run

# Verified new installation flags work correctly
python -m pip install --prefer-binary --no-cache-dir --force-reinstall --only-binary=:all: numpy scipy

# Verified single test reproduction step
python -X faulthandler -m pytest tests/test_audio_processor.py::TestEqualizerBand::test_initialization -v

# Verified full test suite
python -m pytest tests/ -v --maxfail=1

Test Results

54 tests passed successfully
No security vulnerabilities detected (CodeQL)
YAML syntax validated

Screenshots (if applicable)

N/A

Checklist

  • My code follows the style guidelines of this project (see CONTRIBUTING.md)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Additional Notes

The changes only modify .github/workflows/ci.yml. No production code or tests were altered.

The single test reproduction step provides fast feedback (< 2s) before running the full suite, making it easier to isolate environment setup issues from actual test failures.

Original prompt

This section details on the original issue you should resolve

<issue_title>bug fix #2</issue_title>
<issue_description>•Add a CI step before installing requirements to run: pip install --upgrade pip setuptools wheel

•Reinstall or pin numpy/scipy to compatible binary wheel versions (or force reinstall) to avoid ABI mismatches.

•Optionally add --prefer-binary and --no-cache-dir when installing to prefer prebuilt wheels.
If you want isolation, add a step to run one failing test to reproduce and then run full test suite.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…d single test reproduction step

Co-authored-by: LuminLynx <212206643+LuminLynx@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CI installation requirements for compatibility CI: Add --prefer-binary, --no-cache-dir, --force-reinstall flags and single test reproduction step Nov 10, 2025
Copilot AI requested a review from LuminLynx November 10, 2025 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug fix #2

2 participants