mirror of
https://github.com/red0124/ssp.git
synced 2025-01-23 04:55:20 +01:00
Add coverage ci
This commit is contained in:
parent
14ccb88664
commit
f232c7d995
69
.github/workflows/coverage.yml
vendored
Normal file
69
.github/workflows/coverage.yml
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
name: ubuntu-latest-gcc-ci
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- feature/**
|
||||
- improvement/**
|
||||
- bugfix/**
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- feature/**
|
||||
- improvement/**
|
||||
- bugfix/**
|
||||
|
||||
jobs:
|
||||
gcc_tests:
|
||||
if: >-
|
||||
! contains(toJSON(github.event.commits.*.message), '[skip ci]') &&
|
||||
! contains(toJSON(github.event.commits.*.message), '[skip github]')
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: "Coverage"
|
||||
|
||||
container:
|
||||
image: gcc:latest
|
||||
options: -v /usr/local:/host_usr_local
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- uses: friendlyanon/fetch-core-count@v1
|
||||
id: cores
|
||||
|
||||
- name: CMake
|
||||
run: echo "/host_usr_local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Install dependencies
|
||||
run: script/ci_install_deps.sh
|
||||
|
||||
- name: Configure
|
||||
run: cmake -S test -B build -D CMAKE_BUILD_TYPE=Debug
|
||||
|
||||
- name: Build
|
||||
run: cmake --build build -j ${{steps.cores.outputs.count}}
|
||||
|
||||
- name: Run
|
||||
working-directory: build
|
||||
run: ctest --output-on-failure -j ${{steps.cores.outputs.count}}
|
||||
|
||||
- name: Generate coverage report
|
||||
run: |
|
||||
lcov -d . -c -o out.info --rc lcov_branch_coverage=1 --no-external
|
||||
lcov -e out.info '*include/ss*hpp' -o filtered_out.info
|
||||
genhtml --t "SSP Coverage" --legend --demangle-cpp -o html -s --branch-coverage -p $PWD filtered_out.info
|
||||
|
||||
- name: Archive coverage report
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: code-coverage-report
|
||||
path: ${{github.workspace}}/html
|
||||
|
||||
- name: Coveralls GitHub Action
|
||||
uses: coverallsapp/github-action@v2
|
@ -12,6 +12,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
target_compile_options(ssp INTERFACE -Wall -Wextra)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-Wall -fprofile-arcs -ftest-coverage --coverage")
|
||||
|
||||
if (MSVC)
|
||||
add_compile_options(/bigobj)
|
||||
elseif (MINGW)
|
||||
|
Loading…
Reference in New Issue
Block a user