Change configs for source-base code coverage

Also add cacheing to code coverage workflow
This commit is contained in:
wszdexdrf 2022-08-07 19:18:35 +05:30
parent 7001b14b4c
commit 690411722e
No known key found for this signature in database
GPG Key ID: 4FAE8EF51A1296E5
2 changed files with 33 additions and 28 deletions

View File

@ -3,35 +3,53 @@ on: [push]
name: Code Coverage name: Code Coverage
jobs: jobs:
Codecov: Codecov:
name: Code Coverage name: Code Coverage
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
CARGO_INCREMENTAL: '0' RUSTFLAGS: "-Cinstrument-coverage"
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' RUSTDOCFLAGS: "-Cinstrument-coverage"
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' LLVM_PROFILE_FILE: "report-%p-%m.profraw"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Install lcov tools
run: sudo apt-get install lcov -y
- name: Install rustup - name: Install rustup
run: curl https://sh.rustup.rs -sSf | sh -s -- -y run: curl https://sh.rustup.rs -sSf | sh -s -- -y
- name: Set default toolchain - name: Set default toolchain
run: rustup default nightly run: rustup default nightly
- name: Set profile - name: Set profile
run: rustup set profile minimal run: rustup set profile minimal
- name: Add llvm tools
run: rustup component add llvm-tools-preview
- name: Update toolchain - name: Update toolchain
run: rustup update run: rustup update
- name: Test - name: Cache cargo
run: cargo test --features all-keys,compiler,esplora,ureq,compact_filters --no-default-features uses: actions/cache@v3
- id: coverage
name: Generate coverage
uses: actions-rs/grcov@v0.1.5
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with: with:
file: ${{ steps.coverage.outputs.report }} path: |
directory: ./coverage/reports/ ~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install grcov
run: if [[ ! -e ~/.cargo/bin/grcov ]]; then cargo install grcov; fi
- name: Test
run: cargo test --features default,minimal,all-keys,compact_filters,key-value-db,compiler,sqlite,sqlite-bundled,test-electrum,verify,test-rpc
- name: Run grcov
run: mkdir coverage; grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore '/*' -o ./coverage/lcov.info
- name: Generate HTML coverage report
run: genhtml -o coverage-report.html ./coverage/lcov.info
- name: Coveralls upload
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: coverage-report
path: coverage-report.html

View File

@ -1,13 +0,0 @@
coverage:
status:
project:
default:
target: auto
threshold: 1%
base: auto
informational: false
patch:
default:
target: auto
threshold: 100%
base: auto