name: nim-libp2p codecov builds on: #On push to common branches, this computes the "bases stats" for PRs push: branches: - master - unstable pull_request: workflow_dispatch: jobs: Coverage: runs-on: ubuntu-20.04 env: CICOV: YES steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Run run: | sudo apt-get update sudo apt-get install -y lcov build-essential git curl mkdir coverage curl -O -L -s -S https://raw.githubusercontent.com/status-im/nimbus-build-system/master/scripts/build_nim.sh env MAKE="make -j${NPROC}" bash build_nim.sh Nim csources dist/nimble NimBinaries export PATH="$PATH:$PWD/Nim/bin" nimble install_pinned export NIMFLAGS="--lineDir:on --passC:-fprofile-arcs --passC:-ftest-coverage --passL:-fprofile-arcs --passL:-ftest-coverage" nimble testnative nimble testpubsub nimble testfilter find nimcache -name *.c -delete lcov --capture --directory nimcache --output-file coverage/coverage.info shopt -s globstar ls `pwd`/libp2p/{*,**/*}.nim lcov --extract coverage/coverage.info `pwd`/libp2p/{*,**/*}.nim --output-file coverage/coverage.f.info genhtml coverage/coverage.f.info --output-directory coverage/output bash <(curl -s https://codecov.io/bash) -f coverage/coverage.f.info || echo "Codecov did not collect coverage reports" - uses: actions/upload-artifact@master with: name: coverage path: coverage