This repository has been archived by the owner on Dec 20, 2023. It is now read-only.
⬆️🪝 update pre-commit hooks #109
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: C++ | |
on: | |
pull_request: | |
merge_group: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
CMAKE_BUILD_PARALLEL_LEVEL: 3 | |
CTEST_PARALLEL_LEVEL: 3 | |
defaults: | |
run: | |
shell: bash | |
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@v4 | |
with: | |
submodules: recursive | |
- name: Configure CMake | |
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_DD_EVAL_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_DD_EVAL_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.4 | |
with: | |
fail_ci_if_error: true | |
gcov: true | |
gcov_ignore: "extern/**/*" |