chore: Improve coverage workflow (#738)

* fix: reduce space requirements
- run tests to get coverage

* fix: schedule on 3am UTC
- use binstall for grcov
This commit is contained in:
Roman Zajic 2024-09-18 08:43:35 +08:00 committed by GitHub
parent 8a1e705792
commit fadf6d010b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 23 additions and 16 deletions

View File

@ -1,16 +1,16 @@
on:
pull_request:
push:
branches:
- master
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
name: Codecov
jobs:
test:
name: Test
env:
RUSTFLAGS: -C instrument-coverage
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-C instrument-coverage"
LLVM_PROFILE_FILE: "nomos-node-%p-%m.profraw"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@ -20,7 +20,7 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout submodules
run: git submodule update --init --recursive
run: git submodule update --init --recursive
- uses: actions-rs/toolchain@v1
with:
profile: minimal
@ -34,17 +34,24 @@ jobs:
run: cargo binstall -y cargo-risczero && cargo risczero install
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
cargo binstall -y grcov;
cargo build --no-default-features --features libp2p
rm -rf target/debug/{build,incremental,deps}
cargo test --no-default-features --features libp2p --no-run
rm -rf target/debug/{build,incremental,deps}
mkdir /tmp/cov;
grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o /tmp/cov/tests.lcov;
- name: Cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --all --no-default-features --features libp2p
- name: Run tests
uses: actions-rs/cargo@v1
env:
SLOW_TEST_ENV: true
RISC0_DEV_MODE: true
CONSENSUS_SLOT_TIME: 5
with:
command: test
args: --all --no-default-features --features libp2p
- name: Run Grcov
run: |
cargo binstall -y grcov;
mkdir /tmp/cov;
grcov . --binary-path ./target/debug -s . -t lcov --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o /tmp/cov/tests.lcov;
- uses: actions/upload-artifact@v3
if: failure()
with: