name: Coverage
on:
push:
branches:
- "*"
env:
RUST_BACKTRACE: 1
jobs:
coverage:
runs-on: ubuntu-latest
strategy:
matrix:
version:
- nightly
target:
- x86_64-unknown-linux-gnu
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.version }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libssl-dev pkg-config zlib1g-dev
- name: Cache cargo-tarpaulin
uses: actions/cache@v3
with:
path: ~/.cargo/bin/cargo-tarpaulin
key: ${{ runner.os }}-cargo-tarpaulin-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-tarpaulin-
- name: Install cargo-tarpaulin
run: |
if ! command -v cargo-tarpaulin &> /dev/null; then
cargo install --version 0.31.3 cargo-tarpaulin
else
echo "cargo-tarpaulin is already installed"
fi
- name: coverage
run: |
cargo-tarpaulin --engine llvm --follow-exec --post-test-delay 10 --coveralls ${{ secrets.COVERALLS_TOKEN }}