Skip to content

[filter] declarative paradigm #1552

[filter] declarative paradigm

[filter] declarative paradigm #1552

Workflow file for this run

name: 'Pipeline'
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
schedule:
- cron: '0 0 * * */5'
permissions:
contents: read
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- { os: 'ubuntu-latest', cxx: 'clang++-17', cc: 'clang-17', generator: 'Unix Makefiles', packages: 'clang-17' }
- { os: 'ubuntu-latest', cxx: 'g++-13', cc: 'gcc-13', generator: 'Unix Makefiles', packages: 'g++-13' }
- { os: 'windows-latest', cxx: 'cl', cc: 'cl', generator: 'Ninja', config: 'Debug' }
- { os: 'windows-latest', cxx: 'cl', cc: 'cl', generator: 'Ninja', config: 'Release' }
name: '${{ matrix.os }} / ${{ matrix.cxx }} / ${{ matrix.generator }} / ${{ matrix.config }}'
runs-on: '${{ matrix.os }}'
steps:
- name: Harden Runner
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
egress-policy: audit
- name: 'Checkout'
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: 'Install: MSVC'
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
- name: 'Install: GCC'
if: ${{ matrix.cxx == 'g++-13' }}
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt upgrade
sudo apt install '${{ matrix.packages }}'
- name: 'Install: Clang'
if: ${{ matrix.cxx == 'clang++-17' }}
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt upgrade
sudo apt install g++-13
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17 all
- name: 'Configure'
env:
CXX: '${{ matrix.cxx }}'
CC: '${{ matrix.cc }}'
run: cmake -S . -B 'build' -G '${{ matrix.generator }}'
- name: 'Build'
run: cmake --build 'build' --config '${{ matrix.config }}' --verbose --parallel 4
- name: 'Test'
run: ctest --test-dir 'build' --config '${{ matrix.config }}' --tests-regex 'kalman' --verbose --parallel 4
- name: 'Install'
run: cmake --install 'build' --config '${{ matrix.config }}' --prefix 'install' --verbose
- name: 'Package'
run: cmake --build 'build' --config '${{ matrix.config }}' --target 'package' --verbose --parallel 4
- name: 'Package Source'
run: cmake --build 'build' --config '${{ matrix.config }}' --target 'package_source' --verbose --parallel 4