Skip to content

Build Python 3.15 wheels via meta-ci-action build-dist v2.3 - #258

Merged
lispandfound merged 2 commits into
masterfrom
ai/python-3.15
Oct 12, 2026
Merged

lispandfound merged 2 commits into
masterfrom
ai/python-3.15

Conversation

@lispandfound

@lispandfound lispandfound commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Python 3.15.0 is final. This adds cp315 wheels to the PyPI publish workflow.

Changes (.github/workflows/publish-PyPI.yml only)

  • pypa/cibuildwheel v4.1.0 → v4.3.1, which ships the final CPython 3.15.0.
  • CIBW_BUILD now includes cp315-*. That pattern still excludes free-threaded cp315t, as before.
  • Removed CIBW_PRERELEASE_PYTHONS. cibuildwheel 3 removed this option in favour of enable, so it has been silently ignored on v4. 3.15 does not need it.

No other version pins needed changing: requires-python = ">=3.12", there are no classifiers, and the test matrix lives in meta-ci-action. pyo3/numpy 0.29 already support 3.15, and every dependency has 3.15 wheels.

Local verification on CPython 3.15.0 (uv sync --locked --all-extras -p 3.15.0, which is how CI installs; the lockfile is unchanged): pytest tests gives 120 passed, 1 xfailed (the existing strict xfail on the EAS reference). The extension built and imported as _core.cpython-315-x86_64-linux-gnu.so.

Update: publish-PyPI.yml now calls ucgmsim/meta-ci-action/.github/workflows/build-dist.yml@v2.3 instead of pinning cibuildwheel itself (pinned to @v2.3 because the floating v2 tag still predates build-dist). v2.3 runs cibuildwheel 4.3.1, which builds the final CPython 3.15.0 by default and takes interpreters from requires-python. The PyPI upload stays a local job, so the pypi environment and trusted publisher are unchanged. Linted with actionlint 1.7.7. The explicit CIBW_BUILD: cp312-* … cp315-* list is replaced by cibw-skip: "pp* *-musllinux_* *t-*", which yields the same wheel set (GIL-enabled CPython >=3.12) without an edit for each new CPython.

🤖 Generated with Claude Code

lispandfound and others added 2 commits October 12, 2026 16:19
Bump cibuildwheel to v4.3.1, which ships the final CPython 3.15.0, and
add cp315-* to CIBW_BUILD. Drop CIBW_PRERELEASE_PYTHONS: cibuildwheel 3
removed that option, so it has been silently ignored since the move to
v4, and 3.15 no longer needs prerelease enabling anyway.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Replace the hand-rolled cibuildwheel matrix with the shared reusable
workflow. v2.3 runs cibuildwheel 4.3.1, which builds the final CPython
3.15.0 by default, and picks interpreters from requires-python, so new
CPython releases need no edits here.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@lispandfound lispandfound changed the title Build Python 3.15 wheels Build Python 3.15 wheels via meta-ci-action build-dist v2.3 Oct 12, 2026
@lispandfound
lispandfound merged commit cc72f0c into master Oct 12, 2026
7 checks passed
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.

1 participant