Skip to content

labmaze: add build-labmaze.yml for riscv64 wheels - #1763

Open
luhenry wants to merge 4 commits into
mainfrom
labmaze
Open

labmaze: add build-labmaze.yml for riscv64 wheels#1763
luhenry wants to merge 4 commits into
mainfrom
labmaze

Conversation

@luhenry

@luhenry luhenry commented Sep 11, 2026

Copy link
Copy Markdown
Member

Compiles DeepMind Lab's text maze generator, two small pybind11 extensions over a C++ core built with Bazel. Upstream publishes no riscv64 wheel.

Upstream ships no CI at all (no .github/workflows/), so this drives its setup.py's own BazelExtension build (pip wheel .) directly instead of mirroring a recipe that doesn't exist.

Differs from upstream

  • Bazel is bootstrapped from source - bazel publishes no riscv64 binary, mirrors build-array-record.yml.
  • Vendored pybind11 bumped 2.10.1 -> 3.1.0 in WORKSPACE - upstream's pin predates Python 3.12 support.

Testing

  • Deselects testGoldenTwoRoom9x11Maze and testGoldenMazeRegeneration - golden-output tests that fail on any toolchain newer than upstream's own (see conda-forge/labmaze-feedstock), not riscv64-specific.
  • assertRaisesRegexp -> assertRaisesRegex - alias removed in Python 3.12.

License: Wheel bundles LICENSE.abseil-cpp and LICENSE.pybind11 (both Apache-2.0/BSD) alongside labmaze's own Apache-2.0 LICENSE, since the extension statically links both.

Patches

  • 0001-WORKSPACE-bump-vendored-pybind11...patch - To upstream [no commits since 2022-11-03, issue scikit-image riscv64 support #5 unanswered since 2023; can't file PRs against third-party repos]. Without it, cp312+ fails to compile.
  • 0002-random_maze_test-use-assertRaisesRegex...patch - To upstream [same]. Without it, testInvalidArguments errors on 3.12+.

Built on cp312; TBD passed, TBD skipped.

…tools//platforms

verified against the real labmaze checkout at LABMAZE_REF; @bazel_tools no
longer bundles a platforms package, so //bazel:linux/apple/windows fail to
resolve on any current bazel release before riscv64 detection is reached.
…checkout dir

Both wrote to /work/wheelhouse(_repaired) while the upload and test-install
steps read from /work/labmaze/wheelhouse(_repaired) -- the build itself now
succeeds (bazel/BUILD fix worked) but the artifact was never where later
steps looked for it.
…-files glob

Build and all 16 tests already pass -- this was the last remaining check,
a stale expected-license-set assertion that predated seeing the real wheel.
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