Skip to content

workflows: build-polars-runtime: add - #217

Merged
threexc merged 1 commit into
mainfrom
tgamblin/polars-runtime
Aug 14, 2026
Merged

threexc merged 1 commit into
mainfrom
tgamblin/polars-runtime

Conversation

@threexc

@threexc threexc commented Aug 10, 2026 •

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Aug 10, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-14 17:58 UTC

@threexc
threexc force-pushed the tgamblin/polars-runtime branch 3 times, most recently from 2a20b0e to b796685 Compare August 12, 2026 14:08
Add a build workflow with a basic module test step like upstream. The
default Cargo configurations appear to consistently exhaust the native
RISC-V runners' resources during build. Tweak them so that this doesn't
happen. The polars builds take a long time (5+ hours) as a result, but
they do complete.

Signed-off-by: Trevor Gamblin <[email protected]>
@threexc
threexc force-pushed the tgamblin/polars-runtime branch from b796685 to db80d8c Compare August 13, 2026 17:08
@threexc
threexc merged commit 1d82fd6 into main Aug 14, 2026
10 checks passed
@threexc
threexc deleted the tgamblin/polars-runtime branch August 14, 2026 17:10
luhenry added a commit that referenced this pull request Oct 10, 2026
All 4 musllinux legs (cp312/313/314/314t) segfault (SIGSEGV, exit 139)
in tests/test_encoding.py::test_http_equiv_content_type_is_honored, a
plain charset-detection test with no recursion; the identical manylinux
legs all pass. The crash site varies between a direct hit inside the
test call (cp314t) and a delayed hit in unrelated pytest teardown on
the other three interpreters, which points to heap corruption in the
native extension rather than a stack-size/recursion problem.

0.4.11, 0.4.12 and 0.4.13 all published musllinux riscv64 wheels for
this package successfully, so this is a 1.0.0-specific regression, not
a musl/riscv64 incompatibility in general. 1.0.0 is a large jump from
0.4.13 and most likely carries a lexbor bump; selectolax's own release
workflow (make_release.yml) builds musllinux wheels but runs no test
suite against them at all, so a musl-only memory bug introduced by such
a bump would ship to every musllinux user unnoticed. Upstream carries a
long history of fresh memory-corruption bugs introduced by lexbor
version bumps (e.g. #211, #217), which is consistent with this.

Drop musllinux from the matrix for now, matching the manylinux-only
pattern used elsewhere in this repo when a libc is a genuine blocker
rather than a missing dependency. Revisit once a newer selectolax
release is available.
luhenry added a commit that referenced this pull request Oct 12, 2026
* selectolax: Add version 1.0.0

Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com>

* selectolax: carry forward riscv64 patches to 1.0.0

Nightly version bump omitted the patches/selectolax/<version> directory for
1.0.0, so the build's unconditional `git apply .../*.patch` step
failed with "No such file or directory" before any build/test ran.
Copied forward the same patch set from 0.4.13 (unchanged since then).

* selectolax: Drop musllinux for 1.0.0

All 4 musllinux legs (cp312/313/314/314t) segfault (SIGSEGV, exit 139)
in tests/test_encoding.py::test_http_equiv_content_type_is_honored, a
plain charset-detection test with no recursion; the identical manylinux
legs all pass. The crash site varies between a direct hit inside the
test call (cp314t) and a delayed hit in unrelated pytest teardown on
the other three interpreters, which points to heap corruption in the
native extension rather than a stack-size/recursion problem.

0.4.11, 0.4.12 and 0.4.13 all published musllinux riscv64 wheels for
this package successfully, so this is a 1.0.0-specific regression, not
a musl/riscv64 incompatibility in general. 1.0.0 is a large jump from
0.4.13 and most likely carries a lexbor bump; selectolax's own release
workflow (make_release.yml) builds musllinux wheels but runs no test
suite against them at all, so a musl-only memory bug introduced by such
a bump would ship to every musllinux user unnoticed. Upstream carries a
long history of fresh memory-corruption bugs introduced by lexbor
version bumps (e.g. #211, #217), which is consistent with this.

Drop musllinux from the matrix for now, matching the manylinux-only
pattern used elsewhere in this repo when a libc is a genuine blocker
rather than a missing dependency. Revisit once a newer selectolax
release is available.

---------

Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com>
Co-authored-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com>
Co-authored-by: Ludovic Henry <[email protected]>
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