on: pull_request
name: Code coverage with grcov
permissions:
pull-requests: write
checks: write
contents: read
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository.
uses: actions/checkout@v2
- name: Install toolchain.
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
profile: minimal
- name: Execute tests
run: cargo test | tee test_results.txt && tail -n 7 test_results.txt > test_results_pr_comment.txt
env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests"
RUSTDOCFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests"
- name: Gather coverage data
uses: actions-rs/grcov@v0.1
id: gather_coverage
- name: Upload coverage report to coverall
id: coverall-upload
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ${{ steps.gather_coverage.outputs.report }}
- name: Post Coverage Report in PR
uses: actions-ecosystem/action-create-comment@v1
with:
github_token: ${{ secrets.github_token }}
body: ${{steps.coverall-upload.outputs.coveralls-api-result}}