Skip to content

Commit be5b56c

Browse files
authored
Remove PyPy 3.10 from test matrix to fix failing CI checks (#83)
## Summary Remove PyPy 3.10 from the test matrix to fix failing CI checks. ## Problem All 4 PyPy 3.10 jobs are failing on every build with: ``` error: the configured PyPy interpreter version (3.10) is lower than PyO3's minimum supported version (3.11) ``` ## Root Cause Analysis This failure is caused by an **upstream dependency change**, not by any code change in this repository. **The dependency chain:** ``` tox.ini → readme-renderer → nh3 → PyO3 ``` 1. Our `tox.ini` uses [`readme-renderer`](https://github.com/pypa/readme_renderer) for package metadata validation 2. `readme-renderer` requires [`nh3 >= 0.2.14`](https://github.com/pypa/readme_renderer/blob/main/pyproject.toml) 3. `nh3` has [no pre-built PyPy wheels](https://pypi.org/project/nh3/#files), so PyPy must build from source 4. Building from source compiles PyO3, which dropped PyPy 3.10 support in v0.27.0 **Timeline:** | Date | Event | |------|-------| | Oct 21, 2025 | `nh3` updated PyO3 to 0.27.0 ([PR #102](messense/nh3#102)) | | Oct 29, 2025 | [Last passing CI](https://github.com/AltimateAI/datapilot-cli/actions/runs/18909887249) on main | | Oct 30, 2025 | `nh3` updated PyO3 to 0.27.1 ([PR #103](messense/nh3#103)) | | Oct 30, 2025 | [First failing CI](https://github.com/AltimateAI/datapilot-cli/actions/runs/18955832290) on main | **Upstream decisions:** - [PyO3 v0.27.0](https://github.com/PyO3/pyo3/releases/tag/v0.27.0): *"Support for PyPy 3.9 and PyPy 3.10 (both no longer supported upstream) has been dropped."* - [PyPy v7.3.19](https://doc.pypy.org/en/latest/release-v7.3.19.html): *"In the next release we will drop 3.10 and remove the 'beta' label."* - [PyPy downloads](https://www.pypy.org/download.html) now only list PyPy 3.11 and 2.7 as current releases ## Solution Remove PyPy 3.10 from both: - ✅ `tox.ini` - envlist and basepython definitions - ✅ `.github/workflows/github-actions.yml` - all 4 pypy310 jobs ## Removed Jobs - `pypy310-pydantic28-cover` - `pypy310-pydantic210-cover` - `pypy310-pydantic28-nocov` - `pypy310-pydantic210-nocov` ## Impact - ✅ Fixes all failing CI builds - ✅ PyPy 3.9 jobs continue to work and remain in the matrix - ✅ All CPython versions (3.10, 3.11, 3.12) unaffected - ✅ Aligns with upstream PyPy and PyO3 deprecation decisions ## Testing CI will run on this PR to verify the fix works.
1 parent 50140dd commit be5b56c

File tree

4 files changed

+2
-28
lines changed

4 files changed

+2
-28
lines changed

.github/workflows/github-actions.yml

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -91,30 +91,6 @@ jobs:
9191
python_arch: 'x64'
9292
tox_env: 'py312-pydantic210-nocov'
9393
os: 'ubuntu-latest'
94-
- name: 'pypy310-pydantic28-cover'
95-
python: 'pypy-3.10'
96-
toxpython: 'pypy3.10'
97-
python_arch: 'x64'
98-
tox_env: 'pypy310-pydantic28-cover'
99-
os: 'ubuntu-latest'
100-
- name: 'pypy310-pydantic210-cover'
101-
python: 'pypy-3.10'
102-
toxpython: 'pypy3.10'
103-
python_arch: 'x64'
104-
tox_env: 'pypy310-pydantic210-cover'
105-
os: 'ubuntu-latest'
106-
- name: 'pypy310-pydantic28-nocov'
107-
python: 'pypy-3.10'
108-
toxpython: 'pypy3.10'
109-
python_arch: 'x64'
110-
tox_env: 'pypy310-pydantic28-nocov'
111-
os: 'ubuntu-latest'
112-
- name: 'pypy310-pydantic210-nocov'
113-
python: 'pypy-3.10'
114-
toxpython: 'pypy3.10'
115-
python_arch: 'x64'
116-
tox_env: 'pypy310-pydantic210-nocov'
117-
os: 'ubuntu-latest'
11894
steps:
11995
- uses: actions/checkout@v4
12096
with:

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ include .github/workflows/github-actions.yml
1111
include .pre-commit-config.yaml
1212
include .pre-commit-hooks.yaml
1313
include .readthedocs.yml
14+
include Makefile
1415
include pytest.ini
1516
include tox.ini
1617

tests/test_vendor/test_catalog_v1.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
"""Tests for catalog v1 parser, specifically testing extra fields handling."""
2-
import pytest
3-
42
from vendor.dbt_artifacts_parser.parsers.catalog.catalog_v1 import Metadata
53

64

tox.ini

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,14 @@ envlist =
1414
clean,
1515
check,
1616
docs,
17-
{py39,py310,py311,py312,pypy39,pypy310}-{pydantic28,pydantic210}-{cover,nocov},
17+
{py39,py310,py311,py312,pypy39}-{pydantic28,pydantic210}-{cover,nocov},
1818
report
1919
ignore_basepython_conflict = true
2020

2121
[testenv]
2222
basepython =
2323
pypy38: {env:TOXPYTHON:pypy3.8}
2424
pypy39: {env:TOXPYTHON:pypy3.9}
25-
pypy310: {env:TOXPYTHON:pypy3.10}
2625
py38: {env:TOXPYTHON:python3.8}
2726
py39: {env:TOXPYTHON:python3.9}
2827
py310: {env:TOXPYTHON:python3.10}

0 commit comments

Comments
 (0)