From f46dc3756341222e5ba36a33b536b3a0079d4732 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Wed, 7 Apr 2021 07:40:56 +1000 Subject: [PATCH 1/2] Create ci_env.yml --- .github/ci_env.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/ci_env.yml diff --git a/.github/ci_env.yml b/.github/ci_env.yml new file mode 100644 index 000000000..7a0c2167f --- /dev/null +++ b/.github/ci_env.yml @@ -0,0 +1,33 @@ +name: test +channels: + - robostack + - conda-forge +dependencies: + # build deps + - compilers + - ninja + - cmake + - catkin_pkg + # Other deps + - cppzmq + - eigen + - msgpack-python + - orocos-kdl + - python + - tinyxml2 + - zeromq + - ros-distro-mutex 0.1 noetic + - ros-noetic-catkin + - ros-noetic-cmake-modules + - ros-noetic-eigen-conversions + - ros-noetic-geometry-msgs + - ros-noetic-kdl-parser + - ros-noetic-moveit-core + - ros-noetic-moveit-msgs + - ros-noetic-moveit-ros-planning + - ros-noetic-pluginlib + - ros-noetic-roscpp + - ros-noetic-rosunit + - ros-noetic-std-msgs + - ros-noetic-tf + - ros-noetic-tf-conversions From 09fdf3d293710e168243f1bd68e5b0309caea5e6 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Wed, 7 Apr 2021 07:46:32 +1000 Subject: [PATCH 2/2] Create conda_ci_action.yml --- .github/workflows/conda_ci_action.yml | 85 +++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 .github/workflows/conda_ci_action.yml diff --git a/.github/workflows/conda_ci_action.yml b/.github/workflows/conda_ci_action.yml new file mode 100644 index 000000000..ef5663a73 --- /dev/null +++ b/.github/workflows/conda_ci_action.yml @@ -0,0 +1,85 @@ +name: Build Exotica on all platforms + +on: push + +jobs: + run_rviz_compilation: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Set up Dependencies + uses: mamba-org/provision-with-micromamba@main + with: + environment-file: .github/ci_env.yml + - name: Install System Dependencies + if: runner.os == 'Linux' + run: | + sudo apt-get install libglew-dev mesa-utils xvfb libgl1-mesa-glx libgl1-mesa-dev libglu1-mesa libglu1-mesa-dev \ + libselinux1 libxdamage1 libxfixes3 libxxf86vm1 + - name: Build Exotica on Unix + if: runner.os == 'Linux' || runner.os == 'macOS' + working-directory: ./exotica_core + shell: bash -l -eo pipefail {0} + run: | + if [[ `uname -s` == "Linux" ]]; then + CDT="-cos6-x86_64" + micromamba install -y mesa-libgl-devel$CDT mesa-dri-drivers$CDT \ + libselinux$CDT libxdamage$CDT libxxf86vm$CDT \ + libxext$CDT libxfixes$CDT -c conda-forge + fi + export CTEST_OUTPUT_ON_FAILURE=1 + mkdir build + cd build + cmake .. -DCMAKE_PREFIX_PATH=$CONDA_PREFIX \ + -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCATKIN_SKIP_TESTING=OFF \ + -G "Ninja" + ninja + ninja run_tests + - name: Build Exotica on Windows + if: runner.os == 'Windows' + working-directory: ./exotica_core + shell: powershell + run: | + micromamba shell hook -s cmd.exe -p C:\Users\runneradmin\micromamba + Get-Content -Path C:\Users\runneradmin\micromamba\condabin\mamba_hook.bat + - name: Build Exotica on Windows + if: runner.os == 'Windows' + working-directory: ./exotica_core + shell: cmd + run: | + echo "Remove unnecessary / colliding things from PATH" + set "PATH=%PATH:C:\ProgramData\Chocolatey\bin;=%" + set "PATH=%PATH:C:\Program Files (x86)\sbt\bin;=%" + set "PATH=%PATH:C:\Rust\.cargo\bin;=%" + set "PATH=%PATH:C:\Program Files\Git\usr\bin;=%" + set "PATH=%PATH:C:\Program Files\Git\cmd;=%" + set "PATH=%PATH:C:\Program Files\Git\mingw64\bin;=%" + set "PATH=%PATH:C:\Program Files (x86)\Subversion\bin;=%" + set "PATH=%PATH:C:\Program Files\CMake\bin;=%" + set "PATH=%PATH:C:\Program Files\OpenSSL\bin;=%" + set "PATH=%PATH:C:\Strawberry\c\bin;=%" + set "PATH=%PATH:C:\Strawberry\perl\bin;=%" + set "PATH=%PATH:C:\Strawberry\perl\site\bin;=%" + set "PATH=%PATH:c:\tools\php;=%" + :: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage + set "PATH=%PATH:ostedtoolcache=%" + echo "Activate environment, and compile" + call C:\Users\runneradmin\micromamba\condabin\micromamba.bat activate test + SET "PYTHONPATH=%CONDA_PREFIX%\Library\lib\site-packages" + mkdir build + cd build + SET "CTEST_OUTPUT_ON_FAILURE=1" + cmake .. -DCMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library" ^ + -DCMAKE_INSTALL_PREFIX="%CONDA_PREFIX%\Library" ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCATKIN_SKIP_TESTING=OFF ^ + -DBoost_USE_STATIC_LIBS=OFF ^ + -G "Ninja" + ninja + ninja run_tests