0.12.1 #718
Workflow file for this run
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-20.04-clang-ppa-mrpt, | |
ubuntu-20.04-gcc-ppa-mrpt, | |
ubuntu-22.04-gcc-ppa-mrpt, | |
ubuntu-22.04-clang-ppa-mrpt, | |
] | |
build_type: [ Release ] | |
include: | |
- name: ubuntu-20.04-clang-ppa-mrpt | |
os: ubuntu-20.04 | |
compiler: clang | |
install_mrpt_ppa: ON | |
- name: ubuntu-20.04-gcc-ppa-mrpt | |
os: ubuntu-20.04 | |
compiler: gcc | |
install_mrpt_ppa: ON | |
- name: ubuntu-22.04-gcc-ppa-mrpt | |
os: ubuntu-22.04 | |
compiler: gcc | |
install_mrpt_ppa: ON | |
- name: ubuntu-22.04-clang-ppa-mrpt | |
os: ubuntu-22.04 | |
compiler: clang | |
install_mrpt_ppa: 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 | |
if [ "${{ matrix.install_mrpt_ppa }}" = "ON" ]; then | |
sudo apt install software-properties-common -yq | |
sudo add-apt-repository ppa:joseluisblancoc/mrpt -y | |
fi | |
sudo apt install -y \ | |
cmake build-essential cmake \ | |
libbox2d-dev \ | |
libmrpt-opengl-dev libmrpt-obs-dev libmrpt-maps-dev libmrpt-tclap-dev \ | |
libmrpt-topography-dev \ | |
libmrpt-gui-dev libmrpt-tfest-dev \ | |
protobuf-compiler \ | |
libzmq3-dev \ | |
pybind11-dev \ | |
libprotobuf-dev \ | |
libpython3-dev \ | |
python3-pip \ | |
python3-virtualenv \ | |
python3-protobuf | |
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 -DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-H. -Bbuild | |
- name: Build | |
run: | | |
make -C build | |
- name: Run tests | |
run: | | |
ctest --verbose --test-dir build |