Skip to content

Improve C++/Java Aeron tests and coverage #28

Improve C++/Java Aeron tests and coverage

Improve C++/Java Aeron tests and coverage #28

Workflow file for this run

name: build-cpp
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Detect C++ project
id: detect
run: |
if [ -f cpp/CMakeLists.txt ]; then
echo "present=true" >> "$GITHUB_OUTPUT"
else
echo "present=false" >> "$GITHUB_OUTPUT"
fi
- name: Build
if: steps.detect.outputs.present == 'true'
run: |
cmake -S cpp -B cppbuild -DEPOCH_COVERAGE=ON
cmake --build cppbuild
- name: Test
if: steps.detect.outputs.present == 'true'
run: ctest --test-dir cppbuild --output-on-failure
- name: Coverage
if: steps.detect.outputs.present == 'true'
run: |
python -m pip install --upgrade pip
python -m pip install gcovr
gcovr -r . --object-directory cppbuild --xml-pretty -o cpp/coverage.xml --filter cpp
- name: Upload coverage
if: steps.detect.outputs.present == 'true'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: cpp/coverage.xml
flags: cpp
fail_ci_if_error: false
- name: Skip (no C++ project yet)
if: steps.detect.outputs.present != 'true'
run: echo "No C++ sources yet."