diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index 09563dc82..5e650459d 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -3,35 +3,53 @@ on: [push] name: Code Coverage jobs: - Codecov: name: Code Coverage runs-on: ubuntu-latest env: - CARGO_INCREMENTAL: '0' - RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' - RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' + RUSTFLAGS: "-Cinstrument-coverage" + RUSTDOCFLAGS: "-Cinstrument-coverage" + LLVM_PROFILE_FILE: "report-%p-%m.profraw" steps: - name: Checkout uses: actions/checkout@v2 + - name: Install lcov tools + run: sudo apt-get install lcov -y - name: Install rustup run: curl https://sh.rustup.rs -sSf | sh -s -- -y - name: Set default toolchain run: rustup default nightly - name: Set profile run: rustup set profile minimal + - name: Add llvm tools + run: rustup component add llvm-tools-preview - name: Update toolchain run: rustup update + - name: Cache cargo + uses: actions/cache@v3 + with: + path: | + ~/.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 all-keys,compiler,esplora,ureq,compact_filters --no-default-features - - - id: coverage - name: Generate coverage - uses: actions-rs/grcov@v0.1.5 + 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: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + - name: Coveralls upload + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Upload artifact + uses: actions/upload-artifact@v2 with: - file: ${{ steps.coverage.outputs.report }} - directory: ./coverage/reports/ + name: coverage-report + path: coverage-report.html diff --git a/README.md b/README.md index 1bfa1b6c8..02a55604d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Crate Info MIT or Apache-2.0 Licensed CI Status - + API Docs Rustc Version 1.56.1+ Chat on Discord diff --git a/codecov.yaml b/codecov.yaml deleted file mode 100644 index 062eabbd7..000000000 --- a/codecov.yaml +++ /dev/null @@ -1,13 +0,0 @@ -coverage: - status: - project: - default: - target: auto - threshold: 1% - base: auto - informational: false - patch: - default: - target: auto - threshold: 100% - base: auto \ No newline at end of file