Skip to content

video_reader-rs_build.yml: add build workflow - #1

Closed
threexc wants to merge 1 commit into
mainfrom
video_reader-rs
Closed

threexc wants to merge 1 commit into
mainfrom
video_reader-rs

Conversation

@threexc

@threexc threexc commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@threexc
threexc force-pushed the video_reader-rs branch 4 times, most recently from 86ccde6 to d1f9eda Compare June 19, 2026 16:02
@threexc
threexc marked this pull request as draft June 25, 2026 14:45
@threexc

threexc commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator Author

Marked as draft until we know whether upstream will accept the CI changes. Follow here: #6

@threexc

threexc commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator Author

Upstream merged support and released a wheel in v0.4.4, so we can close this.

@threexc threexc closed this Jun 26, 2026
luhenry added a commit that referenced this pull request Sep 21, 2026
…rash diagnostics

All six austinp tests of the functional suite died with SIGSEGV on the runner
while every austin test passed. The core dump, taken with upstream's own
gdb/core-pattern setup, names the line:

    #0  mojo_event_handler__handle_new_frame (frame=0x19fee0) at events.c:83
    #1  event_handler__emit_new_frame (frame=0x19fee0) at src/events.h:135
    #2  _py_thread__unwind_native_frame_stack at py_thread.c:518

events.c:83 is mojo_ref(frame->scope->key), and the scope it reads is
UNKNOWN_SCOPE, the (cached_string_t*)1 sentinel that austin puts in a frame
when libunwind cannot name it. Patch 0006 gives such a frame a real
"<unknown>" cached string instead. The crash-diagnostic steps stay in the
test job: they are what upstream's tests.yml does, and they are what turned
this from an opaque -11 into one line of C.
luhenry added a commit that referenced this pull request Oct 23, 2026
The inline `sed` PATCH_COMMAND added for deboost.context never ran: with
nle's cmake_minimum_required(3.28) FetchContent populates through a
generated sub-build project, and re-serializing the command into it
expanded ${CMAKE_SYSTEM_PROCESSOR}, stripped the quotes and the `\/`
escapes, so every build failed at configure time with
"sed: -e expression #1, char 19: unknown option to `s'".

Do the edit from a small `cmake -P` script added by the patch instead;
only its path has to survive the sub-build round trip. The script is
idempotent and a no-op if deboost.context gains its own riscv64 branch.

Also set SETUPTOOLS_SCM_PRETEND_VERSION: applying the patch leaves the
tagged checkout dirty, so setuptools_scm would otherwise version the
wheel 1.3.1.dev0+g<sha>.d<date> (the failing runs already reported
"Building nle backend version: 1.3.1").

And fix the test step the build never reached: numpy and psutil only
resolve to riscv64 wheels from pypi.riseproject.dev, and
test_profile.py needs the pytest-benchmark fixture even though it skips
its benchmarks when CI=true (upstream tests against nle[all]).
github-actions Bot pushed a commit that referenced this pull request Oct 25, 2026
* Add nle riscv64 wheel build

NetHack Learning Environment: pybind11/CMake extension over the NetHack
game engine (NGPL-licensed), no riscv64 wheel on PyPI (manylinux x86_64/
aarch64 only, cp310-cp313). Mirrors upstream's own cibuildwheel job from
.github/workflows/test_and_deploy.yml, narrowed to riscv64 (dnf instead
of yum for the manylinux2014-vs-Rocky-10 package manager difference).

Patches the FetchContent-fetched septag/deboost.context dependency
(pinned by nle's own CMakeLists.txt) to add the riscv64 branch its own
CMake arch dispatch is missing: it already ships riscv64 fcontext
assembly (asm/*_riscv64_sysv_elf_gas.S) but never selects it, silently
falling through to the x86_64 files instead.

* nle: fix deboost.context patch step, pin wheel version, fix test env

The inline `sed` PATCH_COMMAND added for deboost.context never ran: with
nle's cmake_minimum_required(3.28) FetchContent populates through a
generated sub-build project, and re-serializing the command into it
expanded ${CMAKE_SYSTEM_PROCESSOR}, stripped the quotes and the `\/`
escapes, so every build failed at configure time with
"sed: -e expression #1, char 19: unknown option to `s'".

Do the edit from a small `cmake -P` script added by the patch instead;
only its path has to survive the sub-build round trip. The script is
idempotent and a no-op if deboost.context gains its own riscv64 branch.

Also set SETUPTOOLS_SCM_PRETEND_VERSION: applying the patch leaves the
tagged checkout dirty, so setuptools_scm would otherwise version the
wheel 1.3.1.dev0+g<sha>.d<date> (the failing runs already reported
"Building nle backend version: 1.3.1").

And fix the test step the build never reached: numpy and psutil only
resolve to riscv64 wheels from pypi.riseproject.dev, and
test_profile.py needs the pytest-benchmark fixture even though it skips
its benchmarks when CI=true (upstream tests against nle[all]).
@luhenry
luhenry deleted the video_reader-rs branch October 30, 2026 14:06
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