diff --git a/.github/workflows/general_build.yml b/.github/workflows/general_build.yml index 40d84f9..b2e9cf6 100644 --- a/.github/workflows/general_build.yml +++ b/.github/workflows/general_build.yml @@ -51,3 +51,24 @@ jobs: - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc + # Install tarpaulin, a Rust coverage tool + - name: Install cargo-tarpaulin + run: cargo install cargo-tarpaulin + + # Run tarpaulin to generate coverage report + - name: Run coverage + run: cargo tarpaulin --out Xml + + # Upload coverage report to Codecov + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + files: ./cobertura.xml # Specify the report generated by tarpaulin + fail_ci_if_error: true + verbose: true + + # Display coverage in GitHub PR + - name: Coverage badge + run: | + curl -s https://codecov.io/gh/${{ github.repository }}/branch/${{ github.ref_name }}/graph/badge.svg \ + -o coverage-badge.svg \ No newline at end of file