Skip to content

persistent: add build-persistent.yml for riscv64 wheels - #1189

Merged
luhenry merged 1 commit into
mainfrom
persistent
Sep 7, 2026
Merged

persistent: add build-persistent.yml for riscv64 wheels#1189
luhenry merged 1 commit into
mainfrom
persistent

Conversation

@luhenry

@luhenry luhenry commented Sep 6, 2026

Copy link
Copy Markdown
Member

Compiles ZODB's core persistence C extensions (cPersistence, cPickleCache, _timestamp) plus a cffi-built _ring module. Upstream publishes no riscv64 wheel.

Mirrors build-zope-hookable.yml / build-zope-interface.yml: checks out the tag directly and builds with cibuildwheel against manylinux_2_39_riscv64, rather than upstream's own Docker-driven .manylinux.sh.

Differs from upstream

  • PIP_EXTRA_INDEX_URL set for both build and test - cffi and zope.interface have no riscv64 wheel on public PyPI.
  • test_docs excluded (-m '!test_docs') - its doctest needs docs/api/*.rst, which the wheel does not ship.

Testing

  • Upstream's own zope.testrunner suite, run twice (compiled and PURE_PYTHON=1), same as zope-hookable/zope-interface.

License: OK

Built on cp312; 618 passed, 6 skipped (compiled), 250 skipped (pure Python).

Mirrors the existing zope-hookable/zope-interface ports: checks out the
zopefoundation/persistent repo and builds via cibuildwheel against the
manylinux_riscv64 image. cffi and zope.interface (both build- and
run-time dependencies of the compiled extensions) have no riscv64 wheel
on public PyPI, so PIP_EXTRA_INDEX_URL points at our own registry for
both phases. Tests run upstream's own zope.testrunner suite twice
(compiled and PURE_PYTHON), excluding test_docs, whose doctest walks up
from the installed module to find docs/api/*.rst — files the wheel does
not ship.
luhenry added a commit that referenced this pull request Sep 6, 2026
@luhenry
luhenry merged commit 0898c86 into main Sep 7, 2026
9 checks passed
@luhenry
luhenry deleted the persistent branch September 7, 2026 08:07
@luhenry luhenry linked an issue Sep 7, 2026 that may be closed by this pull request
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.

persistent riscv64 support

1 participant