diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..5da7dbe --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,36 @@ +# Measure code coverage using Codecov + +name: coverage + +on: + push: + branches: master + pull_request: + branches: master + +jobs: + run: + name: Measure code coverage + runs-on: ubuntu-latest + steps: + - name: Install lcov + run: sudo apt install -y lcov + - name: Get source + uses: actions/checkout@v3 + - name: Configure CMake + run: > + CXX=g++ cmake -B ${{github.workspace}}/build + -DCMAKE_BUILD_TYPE=Coverage + - name: Build + run: cmake --build ${{github.workspace}}/build + - name: Run tests + working-directory: ${{github.workspace}}/build + run: | + lcov -c -i -d .. -o coverage_base.info + test/testgf2 + - name: Upload coverage reports to Codecov + working-directory: ${{github.workspace}}/build + run: | + lcov -c -d .. -o coverage_test.info + lcov -a coverage_base.info -a coverage_test.info -o coverage.info + bash <(curl -s https://codecov.io/bash) -f coverage.info diff --git a/.gitignore b/.gitignore index 270e6c7..607ab3c 100644 --- a/.gitignore +++ b/.gitignore @@ -60,7 +60,5 @@ # Specific files .aux apps -backup build -support clear.cmd