Skip to content

Add the Kinetics Observer #111

Add the Kinetics Observer

Add the Kinetics Observer #111

Workflow file for this run

name: CI of state-observation
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-latest, windows-latest]
build-type: [Debug, RelWithDebInfo]
compiler: [gcc, clang]
include:
- os: windows-latest
compiler: gcc
build-type: script
exclude:
# Only default compiler on macos-latest and windows-latest
- os: macos-latest
compiler: clang
- os: windows-latest
compiler: clang
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Cleanup windows environment
shell: bash
run: |
set -x
rm -rf /c/hostedtoolcache/windows/Boost/1.72.0/lib/cmake/Boost-1.72.0
if: matrix.os == 'windows-latest'
- name: Install dependencies
if: matrix.build-type != 'script'
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
ubuntu: |
apt: libeigen3-dev doxygen doxygen-latex libboost-all-dev
macos: |
brew: eigen boost pkg-config doxygen
windows: |
github:
- path: eigenteam/eigen-git-mirror
ref: 3.3.7
- name: Build and test
if: matrix.build-type != 'script'
uses: jrl-umi3218/github-actions/build-cmake-project@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
- name: Build with script
if: matrix.build-type == 'script'
shell: bash
run: |
set -x
cd utils
if [[ "${{ matrix.os }}" == "windows-latest" ]]
then
./build_and_install-windows.sh
fi
- name: Upload documentation
# Only run on master branch and for one configuration
if: matrix.os == 'ubuntu-20.04' && matrix.build-type == 'RelWithDebInfo' && matrix.compiler == 'gcc' && github.ref == 'refs/heads/master'
uses: jrl-umi3218/github-actions/upload-documentation@master
with:
GH_USER: gergondet
GH_PAGES_TOKEN: ${{ secrets.GH_PAGES_TOKEN }}
- name: Slack Notification
if: failure()
uses: archive/github-actions-slack@master
with:
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_TOKEN }}
slack-channel: '#ci'
slack-text: >
[state-observation] Build *${{ matrix.os }}/${{ matrix.build-type }} (${{ matrix.compiler }})* failed on ${{ github.ref }}