78 lines
2.7 KiB
YAML
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
|