Skip to content

Publish PyPI wheels and verify wheel installs in CI - #3

Merged
FatahChan merged 1 commit into
mainfrom
feat/pypi-wheels-wheel-tests-ci
May 13, 2026
Merged

Publish PyPI wheels and verify wheel installs in CI#3
FatahChan merged 1 commit into
mainfrom
feat/pypi-wheels-wheel-tests-ci

Conversation

@FatahChan

Copy link
Copy Markdown
Owner

Closes packaging gap from issue #2.

Summary

  • Wheels workflow: Build wheels with cibuildwheel (Linux, Windows, macOS Intel + ARM), keep publishing the sdist, merge artifacts, and upload to PyPI on GitHub Release publish.
  • Pre-publish gate: New \�erify_wheel_install\ job runs a manylinux wheel build plus pytest in a clean venv; \upload_pypi\ depends on it so a broken wheel layout cannot ship.
  • CI on PRs: Wheel verification runs on every pull request (not only PRs targeting \main), via \scripts/verify_wheel_install.sh.
  • Tests: \ ests/test_wheel_package.py\ asserts the extension loads as a native module and exercises the public API.

Notes

  • PyPI token and GitHub \pypi\ environment unchanged; first release after merge should show .whl\ files alongside the sdist on PyPI.

Made with Cursor

- Configure cibuildwheel in pyproject.toml for CPython 3.9-3.12
- Build wheels on Linux, Windows, and macOS (Intel + Apple Silicon) in wheels workflow
- Merge sdist and wheels for release upload to PyPI; gate upload on verify_wheel_install
- Add scripts/verify_wheel_install.sh for manylinux smoke build and pytest in a clean venv
- Add tests/test_wheel_package.py for native extension and API checks
- Run wheel verification on all pull requests and ignore wheelhouse in git
@FatahChan
FatahChan force-pushed the feat/pypi-wheels-wheel-tests-ci branch from 48fe0f2 to 5f6f361 Compare May 13, 2026 22:33
@FatahChan
FatahChan merged commit 4150aa8 into main May 13, 2026
2 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