Skip to content

Integration of basic C++ benchmarks #296

Integration of basic C++ benchmarks

Integration of basic C++ benchmarks #296

Workflow file for this run

name: CI build Linux
on:
- push
- pull_request
jobs:
build:
name: "${{ matrix.config.name }} [${{ matrix.build_type }}]"
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
# GCC
- { name: "GCC 7.5.0", os: "ubuntu-20.04", cc: "gcc-7", cxx: "g++-7" }
- { name: "GCC 8.4.0", os: "ubuntu-20.04", cc: "gcc-8", cxx: "g++-8" }
- { name: "GCC 9.4.0", os: "ubuntu-22.04", cc: "gcc-9", cxx: "g++-9" }
- {
name: "GCC 10.3.0",
os: "ubuntu-22.04",
cc: "gcc-10",
cxx: "g++-10",
}
- {
name: "GCC 11.2.0",
os: "ubuntu-22.04",
cc: "gcc-11",
cxx: "g++-11",
}
- {
name: "GCC 12.0.1",
os: "ubuntu-22.04",
cc: "gcc-12",
cxx: "g++-12",
}
# LLVM/Clang
- {
name: "Clang 8.0.1",
os: "ubuntu-20.04",
cc: "clang-8",
cxx: "clang++-8",
}
- {
name: "Clang 9.0.1",
os: "ubuntu-20.04",
cc: "clang-9",
cxx: "clang++-9",
}
- {
name: "Clang 10.0.0",
os: "ubuntu-20.04",
cc: "clang-10",
cxx: "clang++-10",
}
- {
name: "Clang 11.0.0",
os: "ubuntu-20.04",
cc: "clang-11",
cxx: "clang++-11",
}
- {
name: "Clang 12.0.0",
os: "ubuntu-20.04",
cc: "clang-12",
cxx: "clang++-12",
}
- {
name: "Clang 13.0.1",
os: "ubuntu-22.04",
cc: "clang-13",
cxx: "clang++-13",
}
- {
name: "Clang 14.0.0",
os: "ubuntu-22.04",
cc: "clang-14",
cxx: "clang++-14",
}
build_type: ["Debug", "Release"]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Dependencies
run: |
sudo apt update
sudo apt install ${{ matrix.config.cxx }} || sudo apt install ${{ matrix.config.cc }}
sudo apt install libeigen3-dev
- name: Configure
run: |
cmake \
-Bbuild \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_C_COMPILER=${{ matrix.config.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }}
- name: Build
run: cmake --build build
- name: Test
run: |
cd build
ctest --output-on-failure