Add flag to mjrContext to support legacy depth mapping by default #36
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This configuration is used to build and test on GitHub Actions only. | |
# It is not the same configuration that is used by Google DeepMind to create release binaries. | |
# The "official" binaries are built with Clang 13 on all platforms, and are linked against libc++ | |
# on Linux. | |
# | |
# We set CMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF here to reduce build time. | |
# It is highly recommended that this is set to ON for production builds. | |
name: build | |
on: | |
push: | |
paths-ignore: | |
- "doc/**" | |
- "**/README.md" | |
pull_request: | |
paths-ignore: | |
- "doc/**" | |
- "**/README.md" | |
jobs: | |
mujoco: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
additional_label: "with GCC 11" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=gcc-11 | |
-DCMAKE_CXX_COMPILER:STRING=g++-11 | |
-DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--no-as-needed | |
tmpdir: "/tmp" | |
- os: ubuntu-20.04 | |
additional_label: "with GCC 10" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=gcc-10 | |
-DCMAKE_CXX_COMPILER:STRING=g++-10 | |
-DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--no-as-needed | |
tmpdir: "/tmp" | |
- os: ubuntu-20.04 | |
additional_label: "with GCC 9" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=gcc-9 | |
-DCMAKE_CXX_COMPILER:STRING=g++-9 | |
-DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--no-as-needed | |
tmpdir: "/tmp" | |
- os: ubuntu-22.04 | |
additional_label: "with Clang 14" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=clang-14 | |
-DCMAKE_CXX_COMPILER:STRING=clang++-14 | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: ubuntu-22.04 | |
additional_label: "with Clang 13" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=clang-13 | |
-DCMAKE_CXX_COMPILER:STRING=clang++-13 | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: ubuntu-22.04 | |
additional_label: "with Clang 12" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=clang-12 | |
-DCMAKE_CXX_COMPILER:STRING=clang++-12 | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: ubuntu-20.04 | |
additional_label: "with Clang 11" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=clang-11 | |
-DCMAKE_CXX_COMPILER:STRING=clang++-11 | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: ubuntu-20.04 | |
additional_label: "with Clang 10" | |
cmake_args: >- | |
-G Ninja | |
-DCMAKE_C_COMPILER:STRING=clang-10 | |
-DCMAKE_CXX_COMPILER:STRING=clang++-10 | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: macos-12 | |
cmake_args: >- | |
-G Ninja | |
-DMUJOCO_HARDEN:BOOL=ON | |
tmpdir: "/tmp" | |
- os: windows-2022 | |
cmake_args: >- | |
-DCMAKE_SYSTEM_VERSION="10.0.22621.0" | |
cmake_build_args: "-- -m" | |
tmpdir: "C:/Temp" | |
- os: windows-2019 | |
cmake_args: >- | |
-DCMAKE_SYSTEM_VERSION="10.0.22621.0" | |
cmake_build_args: "-- -m" | |
tmpdir: "C:/Temp" | |
name: "MuJoCo on ${{ matrix.os }} ${{ matrix.additional_label }}" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Prepare Linux | |
if: ${{ runner.os == 'Linux' }} | |
run: > | |
sudo apt-get update && sudo apt-get install | |
libgl1-mesa-dev | |
libxinerama-dev | |
libxcursor-dev | |
libxrandr-dev | |
libxi-dev | |
ninja-build | |
- name: Prepare macOS | |
if: ${{ runner.os == 'macOS' }} | |
run: brew install ninja | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Prepare Python | |
shell: bash | |
run: | | |
repo="${PWD}" | |
cd ${{ matrix.tmpdir }} | |
python -m venv venv | |
if [[ $RUNNER_OS == "Windows" ]]; then | |
mkdir venv/bin | |
fixpath="$(s="$(cat venv/Scripts/activate | grep VIRTUAL_ENV=)"; echo "${s:13:-1}")" | |
sed -i "s#$(printf "%q" "${fixpath}")#$(cygpath "${fixpath}")#g" venv/Scripts/activate | |
ln -s ../Scripts/activate venv/bin/activate | |
fi | |
source venv/bin/activate | |
python -m pip install --upgrade --require-hashes -r "${repo}/python/build_requirements.txt" | |
- name: Configure MuJoCo | |
run: > | |
mkdir build && | |
cd build && | |
cmake .. | |
-DCMAKE_BUILD_TYPE:STRING=Release | |
-DCMAKE_INSTALL_PREFIX:STRING=${{ matrix.tmpdir }}/mujoco_install | |
-DMUJOCO_BUILD_EXAMPLES:BOOL=OFF | |
${{ matrix.cmake_args }} | |
- name: Build MuJoCo | |
working-directory: build | |
run: cmake --build . --config=Release ${{ matrix.cmake_build_args }} | |
- name: Test MuJoCo | |
working-directory: build | |
run: ctest -C Release --output-on-failure . | |
- name: Install MuJoCo | |
working-directory: build | |
run: cmake --install . | |
- name: Copy plugins (POSIX) | |
if: ${{ runner.os != 'Windows' }} | |
working-directory: build | |
run: mkdir -p ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin && | |
cp lib/libelasticity.* ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin && | |
cp lib/libsensor.* ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin | |
- name: Copy plugins (Windows) | |
if: ${{ runner.os == 'Windows' }} | |
working-directory: build | |
run: mkdir -p ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin && | |
cp bin/Release/elasticity.dll ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin && | |
cp bin/Release/sensor.dll ${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin | |
- name: Configure samples | |
working-directory: sample | |
run: > | |
mkdir build && | |
cd build && | |
cmake .. | |
-DCMAKE_BUILD_TYPE:STRING=Release | |
-Dmujoco_ROOT:STRING=${{ matrix.tmpdir }}/mujoco_install | |
${{ matrix.cmake_args }} | |
- name: Build samples | |
working-directory: sample/build | |
run: cmake --build . --config=Release ${{ matrix.cmake_build_args }} | |
- name: Configure simulate | |
working-directory: simulate | |
run: > | |
mkdir build && | |
cd build && | |
cmake .. | |
-DCMAKE_BUILD_TYPE:STRING=Release | |
-Dmujoco_ROOT:STRING=${{ matrix.tmpdir }}/mujoco_install | |
${{ matrix.cmake_args }} | |
- name: Build simulate | |
working-directory: simulate/build | |
run: cmake --build . --config=Release ${{ matrix.cmake_build_args }} | |
- name: Make Python sdist | |
shell: bash | |
working-directory: python | |
run: > | |
source ${{ matrix.tmpdir }}/venv/bin/activate && | |
./make_sdist.sh | |
- name: Build Python bindings | |
if: ${{ runner.os != 'Windows' }} | |
shell: bash | |
working-directory: python/dist | |
run: > | |
source ${{ matrix.tmpdir }}/venv/bin/activate && | |
MUJOCO_PATH="${{ matrix.tmpdir }}/mujoco_install" | |
MUJOCO_PLUGIN_PATH="${{ matrix.tmpdir }}/mujoco_install/mujoco_plugin" | |
MUJOCO_CMAKE_ARGS="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF ${{ matrix.cmake_args }}" | |
pip wheel -v --no-deps mujoco-*.tar.gz | |
- name: Install Python bindings | |
if: ${{ runner.os != 'Windows' }} | |
shell: bash | |
working-directory: python/dist | |
run: > | |
source ${{ matrix.tmpdir }}/venv/bin/activate && | |
pip install mujoco-*.whl | |
- name: Test Python bindings | |
if: ${{ runner.os != 'Windows' }} | |
shell: bash | |
env: | |
MUJOCO_GL: disable | |
run: > | |
source ${{ matrix.tmpdir }}/venv/bin/activate && | |
pytest -v --pyargs mujoco |