[deps] Upgrade Bazel/environment dependencies and require Python 3.12 - #425
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 30a012c310
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
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.
Description
Upgrade EnvPool's Bazel dependencies, Python packages, and official environment oracles together. All physics families now share the published MuJoCo 3.11.0 baseline; Python 3.11 support is removed, leaving Python 3.12–3.14. Compared with
main, 48 existing development-lock packages and 16 existing release-lock packages are upgraded.Motivation and Context
The original dependency refresh deliberately excluded environment oracles. Updating those packages together exposes compatibility changes that must be handled in the native implementations and existing official-oracle suites:
merge-generic-v1on Linux x86_64 needs a singlefloat64epsilon (2.22e-16) for one near-zero lateral observation, while all other scenarios, rewards, and renders remain bitwise.info:prob, and action masks while retaining Taxi-v3 compatibility. Switch the Gymnasium rendering dependency frompygametopygame-ce.MultiRoom-N4-S5-v1, cover all 82 upstream MiniGrid IDs, update the existing WFC oracle shims for renamed registry entry points, and remove redundant hard-coded registry counts.Connector-v3while retaining theConnector-v2compatibility alias and preserving its long-rollout/render oracle checks.imageiodependency, and replace removed simulation accessors with MuJoCo's currentmj_model/mj_dataAPIs.tcp_closedreward behavior, and match official NumPyfloat32action scaling before moving the mocap body. The official Linux MuJoCo wheel is compiled with Clang 20 while the native engine uses GCC 13; their contact solver diverges only ondoor-lock-v3anddoor-unlock-v3, so measured 128-step observation residuals are scoped to those two Linux x86_64 tasks only (5e-6/1.5e-5), with2e-6limited to their reward and the two affected continuous reward-info fields. All other tasks, platforms, binary info, and render assertions retain their existing thresholds.rules_boostarchive with its actual SHA-256.<3.11runtime bound because Matplotlib 3.11 still regresses the Jumanji MMST renderer. Bazel remains at 8.6.0.MyoSuite's published metadata currently caps MuJoCo below 3.7 and Gymnasium below 1.3. EnvPool therefore continues using the already-existing isolated, pinned source oracle instead of forcing incompatible package metadata into its public runtime. All 398 task alignments and render checks execute against MuJoCo 3.11. MetaWorld is likewise checked from its pinned official source against the unified engine.
Dependency maintenance and compatibility migration; no separate issue was opened.
Types of changes
Implemented Tasks
Checklist
make lintcomponents, run individually (required).Verification
Final source commit:
508effd64fa7ab4c9409101049405881c7145f87. The complete macOS/Linux suites below passed on782d5b442068811de151fd2a0af31a531f5aa6e6, immediately before the two-line release-version bump; the complete macOS installed-wheel release path was rerun on the final 1.2.6 commit.On both macOS ARM64 and Linux x86_64 devbox, run all formatting/static/documentation/spelling checks; all 98 Bazel test targets uncached; a development wheel; a Python 3.12 release wheel; isolated wheel installation;
uv pip check; and the complete installed-wheelmake release-test. Linux additionally runsclang-tidy, full Bazel coverage, coverage reporting, and both Qt-absent Procgen import modes.macOS ARM64: all lint checks, 98/98 uncached Bazel targets, development wheel, release wheel, clean-venv installation/
uv pip check, and installed-wheelmake release-testpassed on the full-suite baseline (7.9 minutes of recorded validation). The final commit additionally builtenvpool-1.2.6-cp312-cp312-macosx_11_0_arm64.whl, installed it into a fresh virtual environment, passeduv pip check, reran the complete installed-wheelmake release-test, and verified version1.2.6plusRequires-Python: >=3.12.Linux x86_64 devbox (full-suite baseline): all lint checks, 98/98 uncached Bazel targets, development wheel, release wheel (
envpool-1.2.5-cp312-cp312-manylinux_2_38_x86_64.manylinux_2_39_x86_64.whl), clean-venv installation/uv pip check, and installed-wheelmake release-testpassed; full clang-tidy, coverage, and Qt-absent release checks passed (54.7 minutes of recorded validation).Release-lock and wheel-runtime requirements additionally resolve from binary wheels only for Python 3.12, 3.13, and 3.14 across Linux x86_64, Linux aarch64, macOS arm64, and Windows x86_64: 24/24 successful resolution checks. These are dependency-resolution checks, not execution on every platform.
Remaining CI / platform gaps
The devbox uses native Ubuntu rather than the actual
manylinux_2_28release container. Hosted Linux aarch64, Windows, macOS GitHub runners, and the broader Python execution matrix remain CI validation gaps until GitHub Actions can start.New Environment Checklist
No new environment family is introduced; the existing Highway, MiniGrid, Taxi, and Jumanji upstream families are extended.
envpool/make_test.py, release packaging, docs, and README support lists reflect the migrated task families.