Conversation
Mirrors the `build_wheels` job of upstream's deploy-to-pypi.yml, narrowed to riscv64: check out the tag with submodules (cextern/yajl) and run cibuildwheel, inheriting upstream's [tool.cibuildwheel] table (before-all builds and installs libyajl from the submodule, before-test installs test-requirements.txt, test-command runs the full pytest suite). setup.py silently drops the ijson.backends._yajl2 extension when libyajl is not found, which would ship a pure-Python wheel under a riscv64 tag, so the wheel is checked for the extension and the auditwheel-vendored libyajl.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
.github/workflows/build-ijson.yml, building riscv64 wheels forijson 3.5.1 for cp312/cp313/cp314/cp314t.
The workflow mirrors the
build_wheelsjob of upstream'sdeploy-to-pypi.yml,
narrowed to riscv64: check the tag out with submodules (
cextern/yajl) and runcibuildwheel, which inherits upstream's
[tool.cibuildwheel]table unchanged —before-allbuilds and installs libyajl from the submodule with CMake,before-testinstallstest-requirements.txt, andtest-commandruns the fullpytest -vv {project}/testssuite. The only riscv64 additions are themanylinux image and
PIP_EXTRA_INDEX_URL, sincecffi(a test requirementbelow 3.13) has no riscv64 wheel on public PyPI but is on our registry.
setup.pyonly adds theijson.backends._yajl2extension when libyajl ispresent, and silently produces a pure-Python wheel otherwise, so the job asserts
the extension and the auditwheel-vendored
libyajlare actually in the wheel.Licensing: upstream's
LICENSE.txtalready reproduces yajl's ISC noticealongside ijson's BSD-3, and it ships in
dist-info/licenses/, so the vendoredlibyajlis covered — no patch needed.