simplejson: add build-simplejson.yml for riscv64 wheels - #394
Merged
Conversation
Add a riscv64 wheel build for simplejson, mirroring the `build_wheels` job of upstream's build-and-deploy.yml narrowed to manylinux_riscv64. simplejson is pure Python with an optional `_speedups` C extension, so gotcha 20's silent-degradation trap applies — but upstream already closes it: setup.py treats the extension as required whenever `CIBUILDWHEEL=1` is set (cibuildwheel exports it into the container), and the bundled suite fails via TestMissingSpeedups if it did not load. The wheel is still checked for the .so before upload. Test command is upstream's own `simplejson.tests._cibw_runner`; the suite ships inside the wheel, so cibuildwheel's empty test cwd runs it against the installed extension. Validated under QEMU riscv64 with the manylinux_2_39_riscv64 image: 444 tests, 71 skipped, 0 failures.
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-simplejson.yml, a riscv64 wheel build forsimplejson 4.1.1.
Mirrors the
build_wheelsjob of upstream'sbuild-and-deploy.yml,
narrowed to
manylinux_riscv64: plain build-from-checkout withpypa/cibuildwheel, upstream's ownCIBW_TEST_COMMAND(
python -m simplejson.tests._cibw_runner "{project}"), and the riscv64manylinux image as the only override.
simplejson is pure Python with an optional
_speedupsC extension, so thesilent-degradation trap applies — upstream already closes it:
setup.pysetsREQUIRE_SPEEDUPSwheneverCIBUILDWHEEL=1(cibuildwheel exports it into thecontainer), and the bundled suite fails via
TestMissingSpeedupsif theextension did not load. The wheel is still checked for the
.sobefore upload.Matrix is per-interpreter
cp312/cp313/cp314/cp314t— PyPI ships separatecpXY-cpXYwheels includingcp314-cp314t, no abi3 tag.Validated locally under QEMU riscv64 against
quay.io/pypa/manylinux_2_39_riscv64(cp312): wheel builds,
_speedups.*.sopresent, auditwheel repairs tomanylinux_2_31_riscv64.manylinux_2_39_riscv64, and the suite runs 444 tests(71 skipped) with 0 failures against the installed wheel.
Trigger: simplejson:4.1.1