|
|
|
name: CI
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
# 3 jobs in total
|
|
|
|
os: [ubuntu-20.04, macOS-latest]
|
|
|
|
compiler: [{
|
|
|
|
"cc": "gcc",
|
|
|
|
"cxx": "g++"
|
|
|
|
}, {
|
|
|
|
"cc": "clang",
|
|
|
|
"cxx": "clang++"
|
|
|
|
}]
|
|
|
|
exclude:
|
|
|
|
- os: macOS-latest
|
|
|
|
compiler:
|
|
|
|
cc: gcc
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
name: checkout
|
|
|
|
with:
|
|
|
|
submodules: true
|
|
|
|
clean: true
|
|
|
|
fetch-depth: 1
|
|
|
|
- name: install dependencies
|
|
|
|
run: |
|
|
|
|
set -e
|
|
|
|
if [ "$RUNNER_OS" = "macOS" ]; then
|
|
|
|
brew install ninja
|
|
|
|
else
|
|
|
|
sudo apt-get update || true
|
|
|
|
sudo apt-get install -y ninja-build
|
|
|
|
fi
|
|
|
|
|
|
|
|
sudo python3 -m pip install --upgrade pip
|
|
|
|
sudo pip3 install scikit-build
|
|
|
|
sudo pip3 install cmake requests gitpython gcovr pyyaml
|
|
|
|
- name: cmake
|
|
|
|
env:
|
|
|
|
CC: ${{ matrix.compiler.cc }}
|
|
|
|
CXX: ${{ matrix.compiler.cxx }}
|
|
|
|
run: cmake . -GNinja -Bbuild
|
|
|
|
- name: build
|
|
|
|
run: cmake --build build -- -j4
|
|
|
|
- name: test
|
|
|
|
env:
|
|
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
|
|
run: cmake --build build --target test
|