Skip to content

chore(ci): add PyPy 3.12 support - #299

Merged
XuehaiPan merged 4 commits into
metaopt:mainfrom
XuehaiPan:ci/pypy-312-pr
Nov 1, 2026
Merged

XuehaiPan merged 4 commits into
metaopt:mainfrom
XuehaiPan:ci/pypy-312-pr

Conversation

@XuehaiPan

Copy link
Copy Markdown
Member

Description

Add pypy-3.12 alongside pypy-3.11 in the test and wheel-build matrices to cover the Python 3.12 interpreter introduced in PyPy 8.0. Apply the existing PyPy platform exclusions to the new wheel-build entries.

Validation

  • YAML parsing and matrix consistency checks passed.
  • git diff --check passed.
  • Pre-commit checks for both changed workflow files passed.

@codecov

codecov Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (fc4dd08) to head (b213bba).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #299   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           15        15           
  Lines         1623      1623           
  Branches       220       220           
=========================================
  Hits          1623      1623           
Flag Coverage Δ
unittests 100.00% <ø> (ø)
unittests-cp310-Linux 100.00% <ø> (ø)
unittests-cp310-Windows 100.00% <ø> (ø)
unittests-cp310-macOS 100.00% <ø> (ø)
unittests-cp311-Linux 100.00% <ø> (ø)
unittests-cp311-Windows 100.00% <ø> (ø)
unittests-cp311-macOS 100.00% <ø> (ø)
unittests-cp312-Linux 100.00% <ø> (ø)
unittests-cp312-Windows 100.00% <ø> (ø)
unittests-cp312-macOS 100.00% <ø> (ø)
unittests-cp313-Linux 100.00% <ø> (ø)
unittests-cp313-Windows 100.00% <ø> (ø)
unittests-cp313-macOS 100.00% <ø> (ø)
unittests-cp313t-Linux 100.00% <ø> (ø)
unittests-cp313t-Windows 100.00% <ø> (ø)
unittests-cp313t-macOS 100.00% <ø> (ø)
unittests-cp314-Linux 100.00% <ø> (ø)
unittests-cp314-Windows 100.00% <ø> (ø)
unittests-cp314-macOS 100.00% <ø> (ø)
unittests-cp314t-Linux 100.00% <ø> (ø)
unittests-cp314t-Windows 100.00% <ø> (ø)
unittests-cp314t-macOS 100.00% <ø> (ø)
unittests-cp315-Linux 100.00% <ø> (ø)
unittests-cp315-Windows 100.00% <ø> (ø)
unittests-cp315-macOS 100.00% <ø> (ø)
unittests-cp315t-Linux 100.00% <ø> (ø)
unittests-cp315t-Windows 100.00% <ø> (ø)
unittests-cp315t-macOS 100.00% <ø> (ø)
unittests-pp311-Linux 100.00% <ø> (ø)
unittests-pp311-Windows 100.00% <ø> (ø)
unittests-pp311-macOS 100.00% <ø> (ø)
unittests-pp312-Linux 100.00% <ø> (?)
unittests-pp312-Windows 100.00% <ø> (?)
unittests-pp312-macOS 100.00% <ø> (?)
unittests-pydebug 100.00% <ø> (ø)
unittests-pydebug-cp310d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp310d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp310d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp311d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp311d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp311d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp312d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp312d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp312d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp313d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp313d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp313d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp313td-Linux 100.00% <ø> (ø)
unittests-pydebug-cp313td-Windows 100.00% <ø> (ø)
unittests-pydebug-cp313td-macOS 100.00% <ø> (ø)
unittests-pydebug-cp314d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp314d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp314d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp314td-Linux 100.00% <ø> (ø)
unittests-pydebug-cp314td-Windows 100.00% <ø> (ø)
unittests-pydebug-cp314td-macOS 100.00% <ø> (ø)
unittests-pydebug-cp315d-Linux 100.00% <ø> (ø)
unittests-pydebug-cp315d-Windows 100.00% <ø> (ø)
unittests-pydebug-cp315d-macOS 100.00% <ø> (ø)
unittests-pydebug-cp315td-Linux 100.00% <ø> (ø)
unittests-pydebug-cp315td-Windows 100.00% <ø> (ø)
unittests-pydebug-cp315td-macOS 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@XuehaiPan XuehaiPan changed the title chore(ci): add PyPy 3.12 to test and wheel matrices chore(ci): add PyPy 3.12 support Oct 31, 2026
XuehaiPan added a commit to XuehaiPan/optree that referenced this pull request Oct 31, 2026
Record PyPy 3.12 support under Unreleased / Added and link PR metaopt#299.
XuehaiPan added a commit to XuehaiPan/optree that referenced this pull request Oct 31, 2026
Record PyPy 3.12 support under Unreleased / Added and link PR metaopt#299.
@XuehaiPan XuehaiPan added enhancement New feature or request dependencies Pull requests that update a dependency file labels Oct 31, 2026
Cover the Python 3.12 interpreter released with PyPy 8.0 alongside PyPy 3.11. Apply the existing PyPy platform exclusions to the new wheel-build entries.

Validation: YAML parsing, matrix consistency checks, git diff --check, and pre-commit checks for both changed workflow files passed.
Record PyPy 3.12 support under Unreleased / Added and link PR metaopt#299.
Installing OpTree with `.[test]` pins `typing-extensions` to the minimum supported version, overriding the runtime requirement of an already-installed `torch`.

Move the full test-dependency installation immediately before pytest so pip resolves the `torch` runtime requirements after the test extra is installed.

Validation: YAML parsing and step-order checks confirm that only the existing dependency-install step moved and that it runs after `.[test]` and immediately before pytest.
@XuehaiPan
XuehaiPan merged commit d8d98dd into metaopt:main Nov 1, 2026
188 checks passed
@XuehaiPan
XuehaiPan deleted the ci/pypy-312-pr branch November 1, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant