mirror of
https://github.com/qicosmos/rest_rpc.git
synced 2026-08-29 16:40:48 +08:00
64 lines
2.3 KiB
YAML
64 lines
2.3 KiB
YAML
name: Ubuntu 22.04 (llvm cov)
|
|
|
|
on:
|
|
pull_request_target:
|
|
branches:
|
|
- master
|
|
- cpp20
|
|
- unit_test_for_cpp20
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get install openssl
|
|
sudo apt-get install libssl-dev
|
|
sudo apt-get install llvm
|
|
|
|
# - name: Install newer Clang
|
|
# run: |
|
|
# wget https://apt.llvm.org/llvm.sh
|
|
# chmod +x ./llvm.sh
|
|
# sudo ./llvm.sh 17
|
|
|
|
- name: Run Coverage
|
|
run: |
|
|
mkdir build && cd build
|
|
CC=clang CXX=clang++ cmake .. -DCOVERAGE_TEST=ON -DCINATRA_ENABLE_SSL=OFF
|
|
make -j test_rest_rpc
|
|
export LLVM_PROFILE_FILE="test_rest_rpc-%m.profraw"
|
|
cd tests
|
|
./test_rest_rpc
|
|
llvm-profdata merge -sparse test_rest_rpc-*.profraw -o test_rest_rpc.profdata
|
|
llvm-cov --version
|
|
llvm-cov show ./test_rest_rpc -instr-profile=test_rest_rpc.profdata -format=html -output-dir=../.coverage_llvm_cov -ignore-filename-regex="string_view.hpp|nonstd_any.hpp|examples|thirdparty|tests" -show-instantiations=false
|
|
ls ../.coverage_llvm_cov/*
|
|
echo "Done!"
|
|
|
|
- name: Upload Coverage Results
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: llvm-cov
|
|
path: ${{ github.workspace }}/build/.coverage_llvm_cov
|
|
|
|
- name: Create Code Coverage Report
|
|
working-directory: ${{github.workspace}}/build/tests
|
|
run: |
|
|
echo "Code Coverage Report" > tmp.log
|
|
echo "for detail, [goto summary](https://github.com/${{ github.repository_owner }}/${{ github.event.repository.name }}/actions/runs/${{github.run_id}}) download Artifacts `llvm-cov`" >> tmp.log
|
|
echo "\`\`\`" >> tmp.log
|
|
llvm-cov report ./test_rest_rpc -instr-profile=test_rest_rpc.profdata -ignore-filename-regex="string_view.hpp|nonstd_any.hpp|examples|thirdparty|tests" -show-region-summary=false >> tmp.log
|
|
echo "\`\`\`" >> tmp.log
|
|
|
|
- name: Create Comment
|
|
uses: peter-evans/create-or-update-comment@v2
|
|
with:
|
|
issue-number: ${{ github.event.pull_request.number }}
|
|
body-file: '${{github.workspace}}/build/tests/tmp.log'
|