Files
Mujoco_WASM/.readthedocs.yml
T
2026-04-23 19:52:55 +01:00

78 lines
2.7 KiB
YAML

# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
# TODO(robotics-simulation): pdf format fails to build on readthedocs
# formats:
# - pdf
build:
os: ubuntu-24.04
tools:
python: "3.12"
apt_packages:
- libgl-dev
jobs:
create_environment:
# install uv
- asdf plugin add uv
- asdf install uv latest
- asdf global uv latest
- uv venv $READTHEDOCS_VIRTUALENV_PATH
# install doc requirements and build tools
- |
UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH \
uv pip install \
-r doc/requirements.txt \
cmake pip build setuptools absl-py
# build and install MuJoCo C library
- |
VENV=$READTHEDOCS_VIRTUALENV_PATH && \
$VENV/bin/cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$VENV \
-DMUJOCO_BUILD_EXAMPLES=OFF \
-DMUJOCO_BUILD_SIMULATE=OFF \
-DMUJOCO_BUILD_TESTS=OFF \
-DMUJOCO_TEST_PYTHON_UTIL=OFF && \
$VENV/bin/cmake --build build --parallel && \
$VENV/bin/cmake --install build
# copy plugins
- |
mkdir -p $READTHEDOCS_VIRTUALENV_PATH/mujoco_plugin && \
cp build/lib/libactuator.* \
build/lib/libelasticity.* \
build/lib/libsensor.* \
$READTHEDOCS_VIRTUALENV_PATH/mujoco_plugin/ && \
cp build/lib/libsdf_plugin.* \
$READTHEDOCS_VIRTUALENV_PATH/mujoco_plugin/ || true
# build and install Python bindings from source
- |
export VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH \
PATH=$READTHEDOCS_VIRTUALENV_PATH/bin:$PATH && \
cd python && bash make_sdist.sh && cd dist && \
MUJOCO_PATH=$READTHEDOCS_VIRTUALENV_PATH \
MUJOCO_PLUGIN_PATH=$READTHEDOCS_VIRTUALENV_PATH/mujoco_plugin \
MUJOCO_CMAKE_ARGS="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF \
-DGLFW_BUILD_WAYLAND=OFF -DGLFW_BUILD_X11=OFF" \
UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH \
uv pip install mujoco-*.tar.gz && \
cd ../..
# install mjx and mujoco_warp
- UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv pip install -e mjx
- |
find mjx/mujoco/mjx/third_party/mujoco_warp -type f -exec \
sed -i 's/mujoco\.mjx\.third_party\.mujoco_warp/mujoco_warp/g' {} \;
- python doc/mjwarp/update_types.py mjx/mujoco/mjx/third_party/mujoco_warp/_src/types.py
- |
UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH \
uv pip install mjx/mujoco/mjx/third_party/mujoco_warp
install:
- "true" # skip default install
sphinx:
builder: html
configuration: doc/conf.py
fail_on_warning: false