Skip to content

glcontext: add build-glcontext.yml for riscv64 wheels - #1396

Merged
luhenry merged 3 commits into
mainfrom
glcontext
Sep 7, 2026
Merged

glcontext: add build-glcontext.yml for riscv64 wheels#1396
luhenry merged 3 commits into
mainfrom
glcontext

Conversation

@luhenry

@luhenry luhenry commented Sep 7, 2026

Copy link
Copy Markdown
Member

Compiles two small C++ extensions (x11, egl) that dlopen their target libraries at runtime, no native build deps. Upstream publishes no riscv64 wheel.

Mirrors upstream's release.yml.

Differs from upstream

  • Adds a smoke test - upstream's release workflow ships wheels untested.

Testing

  • egl backend: creates a real standalone context via the manylinux/musllinux image's Mesa software rasterizer, reads GL_VENDOR.
  • x11 backend: asserts it fails cleanly instead of crashing - no X server on this headless runner, unlike upstream's pytest suite which needs one.

License: OK

Built on cp312 manylinux_riscv64 locally: egl context created (GL_VENDOR = Mesa/llvmpipe), x11 failed cleanly as expected.

Two small setuptools C++ extensions (x11, egl) dlopen their target
libraries at runtime, so no native deps are needed at build time beyond
libdl. Builds both manylinux and musllinux riscv64 targets across
cp312/cp313/cp314/cp314t.

Upstream's own release workflow ships wheels with no test step at all,
and its pytest suite hard-depends on the x11 backend (default_backend()
on Linux), which needs a running X server this headless runner doesn't
have. The egl backend is this package's actual headless use case and
the manylinux/musllinux riscv64 images ship Mesa's software rasterizer,
so it gets a real functional test (creates a context, reads GL_VENDOR
via glGetString); the x11 backend is checked for a clean failure
instead of a crash, proving its compiled extension loads and resolves
symbols correctly.
luhenry added a commit that referenced this pull request Sep 7, 2026
@luhenry
luhenry merged commit 5cbe042 into main Sep 7, 2026
13 checks passed
@luhenry
luhenry deleted the glcontext branch September 7, 2026 16:09
@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.

glcontext riscv64 support

1 participant