Skip to content

Conversation

@yarikoptic
Copy link
Member

This PR addresses several CI pipeline issues and updates Python version support:

Changes Made:

1. Python Version Support

  • setup.cfg: Added Python 3.14 classifier
  • tox.ini: Removed obsolete py37 and py38 (EOL), added py314
  • Both changes ensure the project declares support for all active Python versions (3.9-3.14)

2. Dependency Updates

  • setup.cfg: Updated asv (airspeed velocity) constraint from ~= 0.6.0, < 0.6.2 to >= 0.6.0, != 0.6.2
  • This allows using asv 0.6.3+ which includes:
    • Python 3.12+ compatibility fixes
    • Build backend improvements
    • Various bug fixes
  • Version 0.6.2 is still excluded due to known CI failures (see commit 32700b1)

3. Workflow Updates Required

  • test.yml needs Python 3.14 added to matrix
  • benchmark.yml needs Python 3.13 and 3.14 added to matrix
  • These changes require special GitHub permissions and must be applied by a maintainer

This PR addresses several CI pipeline issues and updates Python version
support:

## Changes Made:

### 1. Python Version Support
- **setup.cfg**: Added Python 3.14 classifier
- **tox.ini**: Removed obsolete py37 and py38 (EOL), added py314
- Both changes ensure the project declares support for all active Python
versions (3.9-3.14)

### 2. Dependency Updates
- **setup.cfg**: Updated asv (airspeed velocity) constraint from `~=
0.6.0, < 0.6.2` to `>= 0.6.0, != 0.6.2`
- This allows using asv 0.6.3+ which includes:
  - Python 3.12+ compatibility fixes
  - Build backend improvements
  - Various bug fixes
- Version 0.6.2 is still excluded due to known CI failures (see commit
32700b1)

### 3. Workflow Updates Required
- test.yml needs Python 3.14 added to matrix
- benchmark.yml needs Python 3.13 and 3.14 added to matrix
- These changes require special GitHub permissions and must be applied
by a maintainer
@yarikoptic yarikoptic added the patch Increment the patch version when merged label Nov 6, 2025
@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.07%. Comparing base (eae6d9b) to head (9b7827c).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #106   +/-   ##
=======================================
  Coverage   92.07%   92.07%           
=======================================
  Files           4        4           
  Lines         530      530           
  Branches       40       40           
=======================================
  Hits          488      488           
  Misses         25       25           
  Partials       17       17           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The benchmark workflow was failing because asv 0.6.3+ changed how it builds
and installs projects, switching from implicit defaults to using the 'build'
package as the backend. This caused "{wheel_file} not available" errors.

Changes:
1. asv.conf.json: Explicitly specify build_command, install_command, and
   uninstall_command that are compatible with asv 0.6.3+
   - Use "python -m build --wheel -o {build_cache_dir} {build_dir}" to
     create wheel in the correct location
   - Explicitly set install_command to use {wheel_file}

2. setup.cfg: Update asv constraint from ">= 0.6.0, != 0.6.2" to ">= 0.6.3"
   - Version 0.6.3 is when 'build' became the default backend
   - This ensures the 'build' package is available as an asv dependency
   - Simplifies constraint by requiring the version where the new behavior
     is stable

References:
- asv PR #1387: Made 'build' the default backend
- asv 0.6.4 added --force-reinstall by default
- {wheel_file} requires a wheel to be created in {build_cache_dir}

This should fix the benchmark CI failures while maintaining compatibility
with modern Python packaging standards.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch Increment the patch version when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants