88
99
1010if [[ $OSTYPE != ' darwin' * ]]; then
11- apt-get update && apt-get upgrade -y
11+ # Prevent interactive prompts (notably tzdata) in CI.
12+ export DEBIAN_FRONTEND=noninteractive
13+ export TZ=" ${TZ:- Etc/ UTC} "
14+ ln -snf " /usr/share/zoneinfo/${TZ} " /etc/localtime || true
15+ echo " ${TZ} " > /etc/timezone || true
16+
17+ apt-get update
18+ apt-get install -y --no-install-recommends tzdata
19+ dpkg-reconfigure -f noninteractive tzdata || true
20+
21+ apt-get upgrade -y
1222 apt-get install -y vim git wget cmake
1323
1424 # Enable universe repository
1525 # apt-get install -y software-properties-common
1626 # add-apt-repository universe
1727 # apt-get update
1828
19- # apt-get install -y libsdl2-dev libsdl2-2.0-0
29+ # SDL2 and freetype needed for building pygame from source (Python 3.14+)
30+ apt-get install -y libsdl2-dev libsdl2-2.0-0 libsdl2-mixer-dev libsdl2-image-dev libsdl2-ttf-dev
31+ apt-get install -y libfreetype6-dev pkg-config
2032
21- apt-get install -y libglfw3 libgl1-mesa-glx libosmesa6 libglew-dev
22- apt-get install -y libglvnd0 libgl1 libglx0 libegl1 libgles2 xvfb
33+ apt-get install -y libglfw3 libosmesa6 libglew-dev
34+ apt-get install -y libglvnd0 libgl1 libglx0 libglx-mesa0 libegl1 libgles2 xvfb
2335
2436 if [ " ${CU_VERSION:- } " == cpu ] ; then
2537 # solves version `GLIBCXX_3.4.29' not found for tensorboard
@@ -99,6 +111,14 @@ conda env update --file "${this_dir}/environment.yml" --prune
99111conda deactivate
100112conda activate " ${env_dir} "
101113
114+ # Install dm_control for Python < 3.13
115+ # labmaze (dm_control dependency) doesn't have Python 3.13+ wheels and its
116+ # WORKSPACE-based build is incompatible with Bazel 8+ (WORKSPACE deprecated)
117+ if [[ " $PYTHON_VERSION " != " 3.13" && " $PYTHON_VERSION " != " 3.14" ]]; then
118+ echo " installing dm_control"
119+ pip3 install dm_control
120+ fi
121+
102122echo " installing gymnasium"
103123if [[ " $PYTHON_VERSION " == " 3.12" ]]; then
104124 pip3 install ale-py
@@ -108,13 +128,20 @@ else
108128 pip3 install " gymnasium[atari,mujoco]>=1.1" mo-gymnasium[mujoco]
109129fi
110130
111- # sanity check: remove?
112- python -c " " "
131+ # sanity check
132+ if [[ " $PYTHON_VERSION " != " 3.13" && " $PYTHON_VERSION " != " 3.14" ]]; then
133+ python -c " " "
113134import dm_control
114135from dm_control import composer
115136from tensorboard import *
116137from google.protobuf import descriptor as _descriptor
117138" " "
139+ else
140+ python -c " " "
141+ from tensorboard import *
142+ from google.protobuf import descriptor as _descriptor
143+ " " "
144+ fi
118145
119146# ============================================================================================ #
120147# ================================ PyTorch & TorchRL ========================================= #
0 commit comments