Port to gtsam 4.2 #10
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
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, | |
ubuntu-22.04-gcc-default-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 | |
- name: ubuntu-22.04-gcc-default-mrpt | |
os: ubuntu-22.04 | |
compiler: gcc | |
install_mrpt_ppa: OFF | |
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 add-apt-repository ppa:borglab/gtsam-develop -y | |
sudo apt install -yq \ | |
cmake build-essential \ | |
libmrpt-dev \ | |
libgtsam-dev libgtsam-unstable-dev \ | |
libboost-timer-dev | |
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 |