Skip to content

Merge remote-tracking branch 'origin/reviveOrderOfGrabbed' into fixCl… #975

Merge remote-tracking branch 'origin/reviveOrderOfGrabbed' into fixCl…

Merge remote-tracking branch 'origin/reviveOrderOfGrabbed' into fixCl… #975

Workflow file for this run

name: CI
on:
push:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['3.9']
os: [ubuntu-20.04]
architecture: ["x64"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
if: ${{ matrix.python-version != 'pyston' }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}
- name: Set up APT
run: |
sudo apt-get update -y
sudo apt-get -y install dirmngr gnupg apt-transport-https liblog4cxx-dev libopenscenegraph-dev libcoin-dev libsoqt520-dev
sudo apt-get -y install g++ gfortran git pkg-config debhelper gettext zlib1g-dev libminizip-dev libxml2-dev liburiparser-dev libpcre3-dev libgmp-dev libmpfr-dev qtbase5-dev libqt5opengl5-dev libavcodec-dev libavformat-dev libswscale-dev libsimage-dev libode-dev libqhull-dev libann-dev libhdf5-serial-dev liblapack-dev libboost-iostreams-dev libboost-regex-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev libboost-test-dev libmpfi-dev ffmpeg libtinyxml-dev libflann-dev sqlite3 libccd-dev libeigen3-dev libgpgme-dev libgpgmepp-dev
sudo apt-get update -y
sudo apt-get -y install cmake-data cmake cmake-curses-gui ninja-build
- name: Set up Python modules
run: |
python3 -m pip install nose==1.3.7 six==1.16.0
python3 -m pip install numpy==1.26.4 IPython==8.14.0
python3 -m pip install mpmath==0.19 sympy==1.11.1
python3 -m pip install scipy==1.10.1
- name: Install RapidJSON
run: |
set -e
git clone https://github.com/Tencent/rapidjson.git && mkdir rapidjson/build
cd rapidjson/build
# there are no stable version available
cmake .. -GNinja -DRAPIDJSON_HAS_STDSTRING=ON -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF
ninja -j4
sudo ninja install
cd ../..
- name: Install ASSIMP
run: |
set -e
git clone https://github.com/assimp/assimp.git && mkdir assimp/build
cd assimp/build
git checkout v5.2.5
cmake .. -GNinja
ninja -j4
sudo ninja install
cd ../..
- name: Install Fcl
run: |
set -e
git clone https://github.com/rdiankov/fcl.git && mkdir fcl/build
cd fcl/build
git checkout origin/trimeshContactPoints20200813
cmake .. -GNinja -DFCL_BUILD_TESTS=OFF
ninja -j4
sudo ninja install
cd ../..
- name: Install Pybind11
# Need patched version of pybind11:
# File "/usr/local/lib/python3.11/site-packages/openravepy/_openravepy_/__main__.py", line 180, in main
# for type in InterfaceType.values.values():
# ^^^^^^^^^^^^^^^^^^^^
# AttributeError: type object 'openravepy._openravepy_.openravepy_int.InterfaceTy' has no attribute 'values'. Did you mean: 'value'?
run: |
set -e
git clone https://github.com/pybind/pybind11.git && mkdir pybind11/build
cd pybind11/build
# git remote add woody https://github.com/woodychow/pybind11.git
# git fetch woody
git remote add ciel https://github.com/cielavenir/pybind11.git
git fetch ciel
git checkout ciel/v2.9_ty
cmake .. -GNinja -DPYBIND11_TEST=OFF -DPythonLibsNew_FIND_VERSION=3
ninja -j4
sudo ninja install
cd ../..
- name: Install msgpack-c
run: |
set -e
git clone https://github.com/msgpack/msgpack-c && mkdir msgpack-c/build
cd msgpack-c/build
git checkout cpp-6.0.0
cmake .. -GNinja -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF
ninja -j4
sudo ninja install
cd ../..
- name: Install
run: |
set -e
mkdir -p build
cd build
cmake .. -GNinja -DUSE_PYBIND11_PYTHON_BINDINGS=ON -DOPT_PYTHON=OFF
ninja -j4
sudo ninja install
cd ..
- name: Basic Test
# setup-python does not look at /usr/local/lib
# todo: check other tests
run: |
cd test
PYTHONPATH=/usr/local/lib/python3.9/site-packages OPENRAVE_DATA=$PWD/../src python3 -m nose test_binary_trajectory.py test_collada.py test_collision.py test_configurationcache.py test_controller.py test_environment.py test_geometry.py test_iksolver.py test_kinematics.py test_physics.py test_planning.py test_robot.py test_sampling.py test_trajectory.py