mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-07-31 22:04:31 +00:00
* feat: add `isort` to `pre-commit` * ci: skip `__init__.py` file for `isort` * ci: make `isort` mandatory in lint pipeline * docs: add a section on Git hooks * ci: check isort diff * fix: isort from master branch * docs: add pre-commit badge * ci: update black + bandit versions * feat: add PR template * refactor: PR template * ci: remove bandit * docs: add Black badge * ci: try to remove all `|| true` statements * ci: remove lint_python job - Remove `lint_python` CI job - Move `pyupgrade` job to `pre-commit` workflow * fix: avoid messing with typing * docs: add a note on running `pre-cpmmit` manually * ci: apply `pre-commit` to the whole codebase
56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
import os
|
|
|
|
from gym import envs, logger
|
|
|
|
SKIP_MUJOCO_WARNING_MESSAGE = (
|
|
"Cannot run mujoco test (either license key not found or mujoco not"
|
|
"installed properly)."
|
|
)
|
|
|
|
|
|
skip_mujoco = not (os.environ.get("MUJOCO_KEY"))
|
|
if not skip_mujoco:
|
|
try:
|
|
import mujoco_py
|
|
except ImportError:
|
|
skip_mujoco = True
|
|
|
|
|
|
def should_skip_env_spec_for_tests(spec):
|
|
# We skip tests for envs that require dependencies or are otherwise
|
|
# troublesome to run frequently
|
|
ep = spec.entry_point
|
|
# Skip mujoco tests for pull request CI
|
|
if skip_mujoco and ep.startswith("gym.envs.mujoco"):
|
|
return True
|
|
try:
|
|
import gym.envs.atari
|
|
except ImportError:
|
|
if ep.startswith("gym.envs.atari"):
|
|
return True
|
|
try:
|
|
import Box2D
|
|
except ImportError:
|
|
if ep.startswith("gym.envs.box2d"):
|
|
return True
|
|
|
|
if (
|
|
"GoEnv" in ep
|
|
or "HexEnv" in ep
|
|
or (
|
|
ep.startswith("gym.envs.atari")
|
|
and not spec.id.startswith("Pong")
|
|
and not spec.id.startswith("Seaquest")
|
|
)
|
|
):
|
|
logger.warn(f"Skipping tests for env {ep}")
|
|
return True
|
|
return False
|
|
|
|
|
|
spec_list = [
|
|
spec
|
|
for spec in sorted(envs.registry.all(), key=lambda x: x.id)
|
|
if spec.entry_point is not None and not should_skip_env_spec_for_tests(spec)
|
|
]
|