⬆️🪝 update pre-commit hooks #115
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 | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
env: | |
CMAKE_BUILD_PARALLEL_LEVEL: 3 | |
CTEST_PARALLEL_LEVEL: 3 | |
jobs: | |
cpp-tests: | |
name: Tests ${{ matrix.config.os }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-latest, toolchain: "" } | |
- { os: macos-latest, toolchain: "" } | |
- { os: windows-latest, toolchain: "-T ClangCl" } | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Configure CMake | |
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_MISIM_TESTS=ON ${{ matrix.config.toolchain }} | |
- name: Build | |
run: cmake --build build --config Release | |
- name: Test | |
run: ctest -C Release --output-on-failure --test-dir build --repeat until-pass:3 --timeout 300 | |
- if: runner.os == 'Linux' | |
name: Coverage | |
run: | | |
cmake -S . -B buildCov -DCMAKE_BUILD_TYPE=Debug -DBUILD_MISIM_TESTS=ON -DENABLE_COVERAGE=ON | |
cmake --build buildCov --config Debug | |
ctest -C Debug --output-on-failure --test-dir buildCov --repeat until-pass:3 --timeout 300 | |
- if: runner.os == 'Linux' | |
name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3.1.1 | |
with: | |
fail_ci_if_error: true | |
gcov: true | |
gcov_ignore: "extern/**/*" | |
token: ${{ secrets.CODECOV_TOKEN }} |