Skip to content

Publish uc-xcomm manylinux wheels and native source distributions - #32

Merged
Makiras merged 5 commits into
masterfrom
feat/pypi-manylinux-native-builds
Oct 24, 2026
Merged

Makiras merged 5 commits into
masterfrom
feat/pypi-manylinux-native-builds

Conversation

@Makiras

@Makiras Makiras commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Linux users need portable packages with a consistent toolchain distribution name. Publish this repository as uc-xcomm, while retaining import xspcomm, the native SDK paths and libxspcomm.so ABI.

  • Build four Linux x86-64 wheels (CPython 3.11/3.12 × GLIBC 2.17/2.28) and one sdist from the same source archive.
  • Default local/pip source builds to XSPCOMM_NATIVE=ON; explicitly use -march=x86-64 -mtune=generic for distributed wheels. swig>=4.2.1,<5 is an isolated build dependency. Source-install CI covers Python 3.11/3.12 with the latest SWIG allowed by that range.
  • Fix installed SDK discovery and manylinux2014 C++11 ABI compatibility. Check Python bindings, strings, containers, callbacks and exceptions against the installed SDK, including the modern Ubuntu host compiler.
  • Preserve the existing merged-PR version/tag flow. Publish verified assets to GitHub Releases, then PyPI using Trusted Publishing.
  • Update metadata checks, README and bilingual installation/release documentation for uc-xcomm.

Validation: Built and installed the updated sdist under Python 3.12 with an isolated swig==4.2.1 build constraint. All 11 native tests, native CPU-flag checks, Python binding and public C++ SDK checks, and pip check passed. Documentation checks (50 pages, 212 local links), four release-policy tests, workflow/TOML parsing and git diff --check passed. CI retains the four-wheel matrix and two Python source-install jobs, without a separate SWIG version matrix. Companion Picker/Toffee packages require uc-xcomm>=1.1,<2; local integration uses test-only version 1.1.0.

Before publishing, configure a pending PyPI publisher: project uc-xcomm, owner XS-MLVP, repository xcomm, workflow release.yml, environment pypi; create the matching GitHub environment. No API token is needed. Release uc-xcomm before the dependent uc-picker and uc-toffee packages. No release has been published by this PR.

@Makiras Makiras added the release:minor Minor release after the PR merges label Oct 23, 2026 — with ChatGPT Codex Connector
@Makiras Makiras changed the title Publish portable Python wheels and native source distributions Publish uc-xcomm manylinux wheels and native source distributions Oct 23, 2026
@Makiras
Makiras merged commit e1274af into master Oct 24, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:minor Minor release after the PR merges

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant