nomos-node/.github/workflows/codecov.yml

64 lines
1.8 KiB
YAML

on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
name: Codecov
jobs:
test:
env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-C instrument-coverage"
LLVM_PROFILE_FILE: "nomos-node-%p-%m.profraw"
runs-on: ['self-hosted']
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: llvm-tools-preview
- uses: cargo-bins/cargo-binstall@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install risc0
run: cargo binstall -y cargo-risczero && cargo risczero install
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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:
RISC0_DEV_MODE: true
CONSENSUS_SLOT_TIME: 5
with:
command: test
args: --all --no-default-features --features libp2p
- name: Run Grcov
run: |
rm -rf /tmp/coverage
cargo binstall -y grcov;
mkdir /tmp/coverage;
grcov . --binary-path ./target/debug -s . -t lcov --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o /tmp/coverage/tests.lcov;
- uses: actions/upload-artifact@v3
if: failure()
with:
name: integration-test-artifacts
path: tests/.tmp*
- uses: codecov/codecov-action@v3
with:
directory: /tmp/coverage/
name: nomos-node-codecov