Merge pull request #1290 from MRPT/fix/more-unit-tests-fix-docs #995
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
# Based on GTSAM file (by @ProfFan) | |
name: CI Linux | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: ${{ matrix.name }} ${{ matrix.build_type }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CTEST_OUTPUT_ON_FAILURE: ON | |
CTEST_PARALLEL_LEVEL: 1 | |
CMAKE_BUILD_TYPE: ${{ matrix.build_type }} | |
VERBOSE: 1 # to show all cmake scripts debug info | |
strategy: | |
fail-fast: false | |
matrix: | |
# Github Actions requires a single row to be added to the build matrix. | |
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions. | |
name: [ | |
ubuntu-latest-clang, | |
ubuntu-latest-gcc | |
] | |
build_type: [ Release ] | |
include: | |
- name: ubuntu-latest-clang | |
os: ubuntu-latest | |
compiler: clang | |
coverage: OFF | |
- name: ubuntu-latest-gcc | |
os: ubuntu-latest | |
compiler: gcc | |
coverage: ON | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Git submodule | |
run: | | |
git submodule sync | |
git submodule update --init --recursive | |
- name: Install Dependencies | |
run: | | |
# See bug/issue: https://github.com/orgs/community/discussions/47863 | |
sudo apt-mark hold grub-efi-amd64-signed | |
sudo apt-get -y update | |
sudo apt-get -y upgrade | |
sudo apt install cmake build-essential cmake libwxgtk3.0-gtk3-dev \ | |
libopencv-dev libeigen3-dev libgtest-dev \ | |
freeglut3-dev libglfw3-dev libassimp-dev \ | |
libglu1-mesa-dev libqt5opengl5-dev qtbase5-dev \ | |
libxrandr-dev libxxf86vm-dev \ | |
libftdi-dev libusb-1.0-0-dev libudev-dev libfreenect-dev \ | |
libavformat-dev libswscale-dev libpcap-dev \ | |
liboctomap-dev libopenni2-dev \ | |
libtinyxml2-dev \ | |
libdc1394-dev \ | |
yamllint | |
if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then | |
sudo apt install libicu-dev libsimpleini-dev | |
# to enable pymrpt: | |
sudo apt install pybind11-dev python3-dev #python3-numpy | |
fi | |
if [ "${{ matrix.compiler }}" = "gcc" ]; then | |
sudo apt-get install -y g++ g++ | |
echo "CC=gcc" >> $GITHUB_ENV | |
echo "CXX=g++" >> $GITHUB_ENV | |
else | |
sudo apt-get install -y clang g++-multilib | |
echo "CC=clang" >> $GITHUB_ENV | |
echo "CXX=clang++" >> $GITHUB_ENV | |
fi | |
- name: CMake configure | |
run: | | |
cmake -DMRPT_BUILD_EXAMPLES=On \ | |
-DMRPT_BUILD_TESTING=On \ | |
-DMRPT_ENABLE_COVERAGE="${{ matrix.coverage }}" \ | |
-DMRPT_ALLOW_LGPLV3=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-H. -Bbuild | |
- name: Unit tests | |
run: | | |
make -C build tests_build_all | |
make test_legacy -C build -j1 | |
if [ "${{ matrix.coverage }}" = "ON" ]; then | |
make gcov -C build | |
bash <(curl -s https://codecov.io/bash) -X gcov -y .codecov.yml -s build | |
fi | |
- name: Build all | |
run: | | |
make -C build |