Skip to content

Update after nwaku cleanup #254

Update after nwaku cleanup

Update after nwaku cleanup #254

Workflow file for this run

on:
pull_request:
push:
branches:
- master
name: Codecov
jobs:
test-and-coverage:
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-C instrument-coverage"
LLVM_PROFILE_FILE: "coverage-%p-%m.profraw"
steps:
# Checkout the repo
- name: Checkout code
uses: actions/checkout@v4
# Install Rust toolchain (nightly required for coverage)
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
components: llvm-tools-preview
# Build and test with coverage instrumentation
- name: Run tests
run: |
cargo build --all-features
cargo test --all-features
# Install grcov
- name: Install grcov
run: cargo install grcov
# Generate lcov report
- name: Generate coverage report
run: |
mkdir -p coverage
grcov . \
--binary-path ./target/debug/ \
-s . \
-t lcov \
--branch \
--ignore-not-existing \
--ignore '../*' \
--ignore "/*" \
-o coverage/tests.lcov
# Upload to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }} # only needed for private repos
files: coverage/tests.lcov
fail_ci_if_error: true
flags: unittests
name: rust-codecov