Skip to content

Conversation

@jhyahav
Copy link

@jhyahav jhyahav commented Nov 17, 2025

Project Overview

This PR adds our JAX implementation of RoadRunner for the Atari 2600.

Game description (from ALE documentation)

You control the Road Runner(TM) in a race; you can control the direction to run in and times to jumps. The goal is to outrun Wile E. Coyote(TM) while avoiding the hazards of the desert. The game begins with three lives. You lose a life when the coyote catches you, picks you up in a rocket, or shoots you with a cannon. You also lose a life when a truck hits you, you hit a land mine, you fall off a cliff,or you get hit by a falling rock. You score points (i.e. rewards) by eating seeds along the road, eating steel shot, and destroying the coyote.

Launching the game

py scripts/play.py -g Roadrunner

Controls

Arrow keys to move, space to jump.

Resources

  • An online Javatari emulation of the game is available here.
  • The ALE documentation for the game is available here.
  • See a finer-grained breakdown of our work so far on the issues page of our fork.

First Submission (December 22nd, 2025)

Example gameplay

roadrunner.1222.mp4

Features implemented

  • Player movement, including jumping
  • Obstacles from first two levels, including player collision mechanics
    • Trucks
    • Ravines
    • Landmines
  • Enemy mechanics
    • Player tracking
    • Collision detection
    • Variable speed
    • Back off when directly approached by player
    • Enemy can go offscreen if outrun by player
    • Animation and temporary deactivation when enemy is run over by truck
  • Game-accurate scoring system
    • Score display, including masking of leading zeroes and dynamic digit count
    • Points for picking up birdseed
    • Bonus points for streaks
    • Points when enemy gets run over by truck
  • Lives system
    • Live count display
    • Deduction of lives for collisions with enemy, trucks, ravines, landmines
    • Death animations for most collisions
  • Partial implementation of level system
    • Level 1 + transition to level 2 complete
    • Level 2 mostly complete
    • Later levels not yet complete (more advanced mechanics yet to be implemented; these are richer and more challenging to implement than originally anticipated)
  • Visuals
    • Background and road
    • Scrolling background decorations
      • Signs
      • Cacti
  • Pixel-perfect sprites for (most) assets
  • Pass JAXAtari repo compatibility tests

Next steps

  • See open issues; some are marked as stretch goals because they require the introduction of extensive and complicated mechanics in addition to those in place for the first two levels.

Mod suggestions

We have identified a selection of potential mods/variations to implement. We likely will not implement all of these, but would appreciate feedback on which are most desirable for the final submission:

  • Advanced levels (Level 3+): Implementing the specific, complex mechanics required for later stages (e.g., cannons, boulders, enemy speed boosts, etc.). Note: As this is labor-intensive, we would like to treat it as a "Mod/Extension" rather than a core requirement.
  • Turbo mode: Faster gameplay speed for both the Player and the Enemy.
  • Palette swaps: Alternative color schemes for the Player and Enemy sprites.
  • Reverse mode: Mirror the scrolling direction (game flows from left to right).
  • Visual variety: Add a random selection of 5-6 different car sprites for the obstacles (purely cosmetic, no gameplay effect).
  • Road texture options: Remove or alter road markings.

JeanNessen and others added 26 commits November 4, 2025 18:25
- Duplicated the pong game code and removed most of the unnessesary code
- Simplified player movement logic and added horizontal movement
- Added  basic enemy follow logic
- Added a script for creating the RoadRunner sprites.
This list is not complete as we need an investigation task on the exact
requirements of the later levels.
@github-actions
Copy link

github-actions bot commented Nov 17, 2025

📁 Previous CI results (run #19426096098)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/19425816067

Base Branch ❌

The PR's base branch is master.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • package-lock.json
  • pyproject.toml
  • roadrunner_todo.md

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

roadrunner ❌
::error file=tests/test_core_and_wrappers.py,line=29::test_obs_to_flat_array_with_stacked_observations[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

F::error file=tests/test_environment_compatibility.py,line=209::TestBasicAPI.test_obs_to_flat_array[roadrunner]%0A%0ANotImplementedError: Abstract method
F.::error file=tests/test_core_and_wrappers.py,line=42::test_pixel_obs_wrapper_with_stacked_frames[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=73::test_pixel_and_object_centric_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=119::test_object_centric_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[Atari-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=142::test_log_wrapper[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=195::test_multi_reward_log_wrapper[roadrunner]%0A%0ATypeError: 'NoneType' object does not support item assignment%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=266::test_flatten_observation_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[ObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=326::test_log_wrapper_with_flatten_observation[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[PixelAndObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[FlattenedObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[NormalizedPixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=299::TestWrapperCompatibility.test_wrapped_reset_and_step[MultiRewardLogged-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=439::test_atari_wrapper_features_and_pixel_preprocessing[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[Atari-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[ObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=128::TestBasicAPI.test_step[roadrunner]%0A%0AAssertionError: Info should not be None%0Aassert None is not None
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[PixelAndObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[FlattenedObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[NormalizedPixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[FlattenedObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=329::TestWrapperCompatibility.test_observation_shape_and_type[MultiRewardLogged-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[NormalizedPixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[LoggedFlattenedPixelAndObject-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[MultiRewardLogged-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[Atari-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[Pixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[ObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[PixelAndObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[FlattenedObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F....::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[NormalizedPixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=489::TestJaxTransforms.test_jit_compilation[MultiRewardLogged-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fssssssssssss [ 57%]
ssss..::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[Atari-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=621::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[Pixel-roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[ObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=437::TestWrapperCompatibility.test_wrapper_determinism[PixelAndObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=669::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=704::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[roadrunner]%0A%0ATypeError: 'NoneType' object does not support item assignment%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F...::error file=tests/test_environment_compatibility.py,line=746::TestAdvancedWrapperFeatures.test_atari_wrapper_features[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=782::TestAdvancedWrapperFeatures.test_log_wrapper_edge_cases[roadrunner]%0A%0AAttributeError: 'NoneType' object has no attribute 'items'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=919::TestEdgeCasesAndErrorHandling.test_state_serialization[FlattenedObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=919::TestEdgeCasesAndErrorHandling.test_state_serialization[LoggedFlattenedPixelAndObject-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=919::TestEdgeCasesAndErrorHandling.test_state_serialization[ObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=919::TestEdgeCasesAndErrorHandling.test_state_serialization[MultiRewardLogged-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=919::TestEdgeCasesAndErrorHandling.test_state_serialization[PixelAndObjectCentric-roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=42::TestGymnasiumApiCompliance.test_gymnasium_env_checker[roadrunner]%0A%0AFailed: Gymnasium's check_env failed: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=57::TestGymnasiumApiCompliance.test_step_method[roadrunner]%0A%0ANotImplementedError: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=49::TestGymnasiumApiCompliance.test_reset_method[roadrunner]%0A%0ANotImplementedError: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=70::TestGymnasiumApiCompliance.test_render_method[roadrunner]%0A%0ANotImplementedError: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=130::TestGymWrapperIntegration.test_frame_stack_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=79::TestGymnasiumApiCompliance.test_seeding_and_determinism[roadrunner]%0A%0ANotImplementedError: Abstract method
F::error file=tests/test_funcenv_adapter.py,line=106::TestGymWrapperIntegration.test_time_limit_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method
F.ssssss.::error file=tests/test_funcenv_adapter.py,line=120::TestGymWrapperIntegration.test_preprocessing_wrappers[roadrunner]%0A%0ANotImplementedError: Abstract method
Fsss........                   [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:51: TypeError: 'NoneType' object does not support item assignment
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/tests/test_environment_compatibility.py:144: AssertionError: Info should not be None
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:51: TypeError: 'NoneType' object does not support item assignment
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/wrappers.py:218: AttributeError: 'NoneType' object has no attribute 'items'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:131: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/tests/test_funcenv_adapter.py:47: Failed: Gymnasium's check_env failed: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:142: NotImplementedError: Abstract method
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'roadrunner'
FAILED tests/test_core_and_wrappers.py::test_obs_to_flat_array_with_stacked_observations[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_obs_to_flat_array[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_object_centric_wrapper[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Atari-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_multi_reward_log_wrapper[roadrunner] - TypeError: 'NoneType' object does not support item assignment
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[ObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[PixelAndObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[FlattenedObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[NormalizedPixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[MultiRewardLogged-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_atari_wrapper_features_and_pixel_preprocessing[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Atari-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[ObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_step[roadrunner] - AssertionError: Info should not be None
assert None is not None
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[PixelAndObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[FlattenedObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[NormalizedPixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[FlattenedObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[MultiRewardLogged-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[NormalizedPixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[LoggedFlattenedPixelAndObject-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[MultiRewardLogged-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Atari-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[ObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[PixelAndObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[FlattenedObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[NormalizedPixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[MultiRewardLogged-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[Atari-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[Pixel-roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[ObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapper_determinism[PixelAndObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[roadrunner] - TypeError: 'NoneType' object does not support item assignment
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[roadrunner] - AttributeError: 'NoneType' object has no attribute 'items'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[FlattenedObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[LoggedFlattenedPixelAndObject-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[ObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[MultiRewardLogged-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[PixelAndObjectCentric-roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[roadrunner] - Failed: Gymnasium's check_env failed: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_render_method[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymWrapperIntegration::test_frame_stack_wrapper[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_seeding_and_determinism[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymWrapperIntegration::test_time_limit_wrapper[roadrunner] - NotImplementedError: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymWrapperIntegration::test_preprocessing_wrappers[roadrunner] - NotImplementedError: Abstract method
================== 61 failed, 40 passed, 25 skipped in 53.98s ==================


This log was automatically created at 2025-11-17 10:10:32 UTC.

@jhyahav jhyahav changed the base branch from master to dev November 17, 2025 10:17
@github-actions
Copy link

github-actions bot commented Nov 17, 2025

📁 Previous CI results (run #19513863309)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/19426096098

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • games_covered.md
  • package-lock.json
  • pyproject.toml
  • roadrunner_todo.md
  • scripts/gameplay_comparison.py
  • scripts/play.py
  • scripts/utils.py
  • src/jaxatari/__init__.py
  • src/jaxatari/core.py
  • src/jaxatari/modification.py
  • src/jaxatari/rendering/jax_rendering_utils.py
  • tests/__snapshots__/test_regression.ambr
  • tests/test_spaces.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

lasergates ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

..............................................................ssssssssss [ 57%]
s....sssss..............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
...........sssssssss..........                   [100%]/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function _xla_gc_callback at 0x7f461430b9c0>

Traceback (most recent call last):
  File "/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/lib/__init__.py", line 130, in _xla_gc_callback
    xla_client._xla.collect_garbage()
KeyboardInterrupt

Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
  warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function _xla_gc_callback at 0x7fcb9430b9c0>

Traceback (most recent call last):
  File "/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/lib/__init__.py", line 130, in _xla_gc_callback
    xla_client._xla.collect_garbage()
KeyboardInterrupt

Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
  warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[lasergates]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[lasergates]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'lasergates'
=========== 101 passed, 25 skipped, 2 warnings in 397.92s (0:06:37) ============

videopinball ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
...::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/linear_util.py,line=421::Passing arguments 'a', 'a_min' or 'a_max' to jax.numpy.clip is deprecated. Please use 'arr', 'min' or 'max' respectively instead.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/linear_util.py,line=421::Passing arguments 'a', 'a_min' or 'a_max' to jax.numpy.clip is deprecated. Please use 'arr', 'min' or 'max' respectively instead.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/linear_util.py,line=421::Passing arguments 'a', 'a_min' or 'a_max' to jax.numpy.clip is deprecated. Please use 'arr', 'min' or 'max' respectively instead.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/linear_util.py,line=421::Passing arguments 'a', 'a_min' or 'a_max' to jax.numpy.clip is deprecated. Please use 'arr', 'min' or 'max' respectively instead.
....................................................sssssssssss.. [ 57%]
......sssss..............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
.........sssssssss...........                   [100%]/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function _xla_gc_callback at 0x7f846c50f9c0>

Traceback (most recent call last):
  File "/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/lib/__init__.py", line 130, in _xla_gc_callback
    xla_client._xla.collect_garbage()
KeyboardInterrupt

Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
  warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function _xla_gc_callback at 0x7fc4e81079c0>

Traceback (most recent call last):
  File "/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/lib/__init__.py", line 130, in _xla_gc_callback
    xla_client._xla.collect_garbage()
KeyboardInterrupt

Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
  warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

=============================== warnings summary ===============================
tests/test_environment_compatibility.py::TestBasicAPI::test_obs_to_flat_array[videopinball]
tests/test_core_and_wrappers.py::test_obs_to_flat_array_with_stacked_observations[videopinball]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[videopinball]
tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-videopinball]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/linear_util.py:421: DeprecationWarning: Passing arguments 'a', 'a_min' or 'a_max' to jax.numpy.clip is deprecated. Please use 'arr', 'min' or 'max' respectively instead.
    ans = _fun(*args, **kwargs)

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[videopinball]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[videopinball]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'videopinball'
=========== 101 passed, 25 skipped, 6 warnings in 598.53s (0:09:58) ============

pong ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

................................................................ssssssss [ 57%]
sss.sssss.............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
.............sssssssss..........                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[pong]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[pong]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'pong'
============ 101 passed, 25 skipped, 2 warnings in 79.90s (0:01:19) ============

turmoil ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

............................................................sssssssssss. [ 57%]
.....sssss..............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
...........sssssss..ss........                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[turmoil]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[turmoil]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'turmoil'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
=========== 101 passed, 25 skipped, 2 warnings in 277.34s (0:04:37) ============

kingkong ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

............................................................sssssssssss. [ 57%]
......sssss.................::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
.....sssssssss............                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[kingkong]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[kingkong]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'kingkong'
=========== 101 passed, 25 skipped, 2 warnings in 248.44s (0:04:08) ============

fishingderby ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

..............................................................ssssssssss [ 57%]
s....sssss.............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
............sssssss..ss........                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[fishingderby]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[fishingderby]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'fishingderby'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
=========== 101 passed, 25 skipped, 2 warnings in 303.19s (0:05:03) ============

freeway ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

................................................................ssssssss [ 57%]
sss..sssss.............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
...........sssssss...ss........                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[freeway]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[freeway]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'freeway'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
============ 101 passed, 25 skipped, 2 warnings in 83.12s (0:01:23) ============

tennis ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.....::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
...::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
...::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
....::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
......::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.........::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.......::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
sssssssss [ 57%]
ss..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
sssss.....::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
...::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
.::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
..::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py,line=125::Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
..........sssssssss...........                   [100%]
=============================== warnings summary ===============================
tests/test_environment_compatibility.py: 28 warnings
tests/test_core_and_wrappers.py: 7 warnings
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/jax/_src/numpy/array_methods.py:125: UserWarning: Explicitly requested dtype float64 requested in astype is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.
    return lax_numpy.astype(self, dtype, copy=copy, device=device)

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[tennis]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[tennis]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'tennis'
=========== 101 passed, 25 skipped, 37 warnings in 122.40s (0:02:02) ===========

sir_lancelot ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

...............................................................sssssssss [ 57%]
ss...sssss.............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py,line=434::WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
...........sssssss.....ss......                   [100%]
=============================== warnings summary ===============================
tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[sir_lancelot]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:317: UserWarning: WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
    logger.warn(

tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[sir_lancelot]
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: WARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`
    logger.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'sir_lancelot'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
=========== 101 passed, 25 skipped, 2 warnings in 266.31s (0:04:26) ============

spacewar ✅
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

................................................................ssssssss [ 57%]
sss..sssss.............::warning file=/home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py,line=317::WARN: No render modes was declared in the environment (env.metadata['render_modes'] is None or not defined), you may have trouble when calling `.render()`.
::warning file=/home/runner/w...*[Comment body truncated]*

</details>

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20430588794)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20430416313

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

roadrunner ❌
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

...........................................................sssssssssss.. [ 57%]
......sssss............::error file=tests/test_funcenv_adapter.py,line=42::TestGymnasiumApiCompliance.test_gymnasium_env_checker[roadrunner]%0A%0AFailed: Gymnasium's check_env failed: Abstract method
F..::error file=tests/test_funcenv_adapter.py,line=57::TestGymnasiumApiCompliance.test_step_method[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_funcenv_adapter.py,line=79::TestGymnasiumApiCompliance.test_seeding_and_determinism[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_funcenv_adapter.py,line=106::TestGymWrapperIntegration.test_time_limit_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..sssssss.....ss......                   [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_funcenv_adapter.py:47: Failed: Gymnasium's check_env failed: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'roadrunner'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[roadrunner] - Failed: Gymnasium's check_env failed: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_seeding_and_determinism[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymWrapperIntegration::test_time_limit_wrapper[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============= 4 failed, 97 passed, 25 skipped in 532.77s (0:08:52) =============


This log was automatically created at 2025-12-22 11:30:58 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20430829438)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20430588794

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

roadrunner ❌
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: github-actions-annotate-failures-0.3.0, sugar-1.1.1, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [126 items]

...........................................................sssssssssss.. [ 57%]
......sssss............::error file=tests/test_funcenv_adapter.py,line=42::TestGymnasiumApiCompliance.test_gymnasium_env_checker[roadrunner]%0A%0AFailed: Gymnasium's check_env failed: Abstract method
F..::error file=tests/test_funcenv_adapter.py,line=57::TestGymnasiumApiCompliance.test_step_method[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_funcenv_adapter.py,line=79::TestGymnasiumApiCompliance.test_seeding_and_determinism[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=106::TestGymWrapperIntegration.test_time_limit_wrapper[roadrunner]%0A%0ANotImplementedError: Abstract method%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F....sssssss......ss....                   [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_funcenv_adapter.py:47: Failed: Gymnasium's check_env failed: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/environment.py:154: NotImplementedError: Abstract method
=========================== short test summary info ============================
SKIPPED [8] tests/test_environment_compatibility.py:512: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_environment_compatibility.py:551: Skipping to debug memory issues in CI
SKIPPED [8] tests/test_regression.py: No snapshot found for game 'roadrunner'
SKIPPED [1] tests/test_funcenv_adapter.py:157: Skipping to debug memory issues in CI
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_gymnasium_env_checker[roadrunner] - Failed: Gymnasium's check_env failed: Abstract method
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_seeding_and_determinism[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymWrapperIntegration::test_time_limit_wrapper[roadrunner] - NotImplementedError: Abstract method
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============= 4 failed, 97 passed, 25 skipped in 529.24s (0:08:49) =============


This log was automatically created at 2025-12-22 11:38:04 UTC.

Add missing methods to make final 4 tests pass
@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20434612842)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20430829438

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 11:49:36 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20435527772)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20434612842

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 14:33:27 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20436709609)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20435527772

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 15:09:17 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20436742055)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20436709609

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 15:54:11 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20436816863)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20436742055

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 15:55:40 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20436925082)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20436816863

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 15:58:36 UTC.

Remove remnants of pong template.
@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437042824)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20436925082

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:03:17 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437029856)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437042824

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:08:29 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437119074)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437029856

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:08:47 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437304261)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437119074

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:11:53 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437317929)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437304261

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:18:35 UTC.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📁 Previous CI results (run #20437371540)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437317929

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:19:10 UTC.

@github-actions
Copy link

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/20437371540

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2025-12-22 16:21:21 UTC.

@borabuyukbas
Copy link

Hello,
I had the chance to try your Road Runner implementation. Overall, it looks really great and congrats for such great implementation! You can find some small things that I've noticed in my notes:

ALE Similarity - 3/4

  • Your result looks pretty similar compared to the original. I found the used models and sprites in the game overall very accurate.
  • As stated in the previous comments of this PR, the game is a lot faster compared to the original ALE implementation. I was also not very able to pass level one so easily compared to the original implementation, but maybe it's a skill issue :D
  • Adding to that, while going full left, the player is aligned a bit more left compared to the original, therefore leaving notably less time to react on trucks. I believe combining this with faster game speed makes the game more difficult, at least for me. (-1 point due to these two factors)
JAXAtari ALE
  • Additionally, the player can go a bit more upwards compared to the original, as can be seen on the screenshot above (player is on the top of the road).
  • The background color (desert) was a bit warmer in the original for me compared to your implementation, although I am not certainly sure if this difference is caused by the renderer.
  • In the stage 2, the roads are divided with road lines in your implementation, but in original, it is only a plain black road. This is only visual, not affecting the playability of the game.
JAXAtari ALE

Implementation Quality - 4/4

  • All computation heavy calculations are performed using JAX, resulting in a huge performance gain.
  • The code is very well documented and clearly readable.
  • Most important functions have JIT applied, although other functions could also be JITted for more performance.

Good luck on the remaining parts, and wish you all best for the new year!

@jhyahav
Copy link
Author

jhyahav commented Dec 28, 2025

Hello, I had the chance to try your Road Runner implementation. Overall, it looks really great and congrats for such great implementation! You can find some small things that I've noticed in my notes:

ALE Similarity - 3/4

  • Your result looks pretty similar compared to the original. I found the used models and sprites in the game overall very accurate.
  • As stated in the previous comments of this PR, the game is a lot faster compared to the original ALE implementation. I was also not very able to pass level one so easily compared to the original implementation, but maybe it's a skill issue :D
  • Adding to that, while going full left, the player is aligned a bit more left compared to the original, therefore leaving notably less time to react on trucks. I believe combining this with faster game speed makes the game more difficult, at least for me. (-1 point due to these two factors)

JAXAtari ALE

  • Additionally, the player can go a bit more upwards compared to the original, as can be seen on the screenshot above (player is on the top of the road).
  • The background color (desert) was a bit warmer in the original for me compared to your implementation, although I am not certainly sure if this difference is caused by the renderer.
  • In the stage 2, the roads are divided with road lines in your implementation, but in original, it is only a plain black road. This is only visual, not affecting the playability of the game.

JAXAtari ALE

Implementation Quality - 4/4

  • All computation heavy calculations are performed using JAX, resulting in a huge performance gain.
  • The code is very well documented and clearly readable.
  • Most important functions have JIT applied, although other functions could also be JITted for more performance.

Good luck on the remaining parts, and wish you all best for the new year!

Thank you for the very thorough and helpful review! We'll be sure to incorporate your suggestions into our final version.

@PaulSeitz
Copy link
Collaborator

Hey just wanna quickly chime in and come back to the discussion we had about the later levels being treated as the (complex) modifications. We discussed it internally and decided that we can do it like this.
I personally also really like the idea to reverse the gameflow as I think thats a cool way to test generalization, but if you think that the mechanics of the later levels are more than enough complexity to fill the 3 complex mods that is understandable. For some other games we have now allowed that each advanced level can be treated as a complex mod, would this also work in your case or are the advanced features not distributed evenly between 'levels'?

Your other ideas are also nice, so you can chose however you like between them.

@jhyahav
Copy link
Author

jhyahav commented Jan 5, 2026

Hey just wanna quickly chime in and come back to the discussion we had about the later levels being treated as the (complex) modifications. We discussed it internally and decided that we can do it like this. I personally also really like the idea to reverse the gameflow as I think thats a cool way to test generalization, but if you think that the mechanics of the later levels are more than enough complexity to fill the 3 complex mods that is understandable. For some other games we have now allowed that each advanced level can be treated as a complex mod, would this also work in your case or are the advanced features not distributed evenly between 'levels'?

Your other ideas are also nice, so you can chose however you like between them.

Hi @PaulSeitz,

Thanks for following up!
Treating each advanced level as a complex mod and implementing the next three levels would probably work best in our case. Levels 3, 4, and 5 introduce cannons, the coyote riding a rocket, the road widening and narrowing multiple times in a level, new pickups, and forks in the road. Level 6 introduces boulders, which are fairly complex, and which we believe would be a bit much alongside all the aforementioned additions from levels 3-5.

We would also be open to doing levels 3 and 4 plus the gameplay reversal mod instead if you'd prefer that. Please let us know how you'd like us to proceed and we'll get started ASAP.

@JeanNessen

@PaulSeitz
Copy link
Collaborator

Hey just wanna quickly chime in and come back to the discussion we had about the later levels being treated as the (complex) modifications. We discussed it internally and decided that we can do it like this. I personally also really like the idea to reverse the gameflow as I think thats a cool way to test generalization, but if you think that the mechanics of the later levels are more than enough complexity to fill the 3 complex mods that is understandable. For some other games we have now allowed that each advanced level can be treated as a complex mod, would this also work in your case or are the advanced features not distributed evenly between 'levels'?
Your other ideas are also nice, so you can chose however you like between them.

Hi @PaulSeitz,

Thanks for following up! Treating each advanced level as a complex mod and implementing the next three levels would probably work best in our case. Levels 3, 4, and 5 introduce cannons, the coyote riding a rocket, the road widening and narrowing multiple times in a level, new pickups, and forks in the road. Level 6 introduces boulders, which are fairly complex, and which we believe would be a bit much alongside all the aforementioned additions from levels 3-5.

We would also be open to doing levels 3 and 4 plus the gameplay reversal mod instead if you'd prefer that. Please let us know how you'd like us to proceed and we'll get started ASAP.

@JeanNessen

Yes sounds reasonable. In the end its up to you how you want to do it, so if you prefer doing levels 3,4 and 5 please do that :)

@Dan041k Dan041k self-assigned this Jan 6, 2026
@imnikitk
Copy link

imnikitk commented Jan 7, 2026

Hello,
I had a pleasure to try your version of Road Runner. Overall your implementation is functionally top and the core gameplay loop is also close to the original. However, there are few issues which i clearly noticed during the gameplay. Some of the issues i encountered are as follows:
Gamepace and Difficulty: The pace of the overall gameplay feels faster than the original game. Obstacles, especially trucks approach the player faster than the original game which makes the game more difficult. It could be because in your code your truck moves with truck speed and scroll offset during scrolling which makes it look more faster and more difficult. -1 points.
Truck lane consistency: In the original game, trucks appear and move consistently from fixed positions within a lane. But in your's version, trucks do not appear from a fixed positions i.e they appear little above or below the previous and sometime from same. This makes collisions less predictable and differ from the original game. This is because you guys spawned truck randomly anywhere within bounds in your code. This is not a big problem in the environment especially.
Player vertical bound: The player is able to move towards the edge of the road in upward direction which is not the case in the original game. Then Y-bound in the code allows it to do so which could be fixed.
Enemy (Wile E. Coyote) behavior: In the original game, if the player does not deliberately slow down or eliminate the enemy, Wile E. Coyote will eventually outrun the player. In this implementation (notably observable in level 2), the enemy does not consistently catch up.
Game start, round end, and game overflow: The game starts immediately without a delay unlike the original Atari version which gives the player a brief moment before gameplay begins. Additionally, when the player loses all lives, the game resets immediately without displaying a game-over state or pause. Since the environment always returns done = False and performs an automatic reset, there is no visible terminal “game over” phase.
Other game environment like roads in level 2 and background colours match more original Atari game rather than ALE versions.
So, the overall ALE Similarity: 3/4

Implementation Quality:

  1. Code is well structured and documented.
  2. JAX is used correctly enough to run and be performant after compilation, but it’s not a “clean, parallel, vmap-heavy” implementation (e.g could have used vmap for collisions and deco parts).
    So, the overall implementation quality: 3.5/4

Overall, well done and great implementation but there is always a room for betterment. Good luck for the future.

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.

7 participants