mirror of
https://github.com/logos-storage/logos-storage-nim-dht.git
synced 2026-01-02 21:43:11 +00:00
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
name: Generate and upload code coverage
|
|
|
|
on:
|
|
#On push to common branches, this computes the "bases stats" for PRs
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
All_Tests:
|
|
name: All tests
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
nim-options: [
|
|
""
|
|
]
|
|
test-program: [
|
|
"test"
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Environment setup
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y lcov build-essential git curl
|
|
mkdir coverage
|
|
|
|
- name: Restore nimble dependencies from cache
|
|
id: nimble_deps
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/.nimble
|
|
key: ubuntu-20.04-amd64-${{ hashFiles('nimble.lock') }}
|
|
|
|
- name: Setup Nimble
|
|
uses: "./.github/actions/install_nimble"
|
|
with:
|
|
os: linux
|
|
cpu: x64
|
|
|
|
- name: Setup Env
|
|
run: |
|
|
nimble -v
|
|
|
|
- name: Setup Deps
|
|
run: |
|
|
nimble install -d
|
|
nimble setup
|
|
|
|
- name: Run tests
|
|
run: |
|
|
nimble -y --verbose ${{ matrix.test-program }} --opt:speed -d:debug --verbosity:0 --hints:off --lineDir:on -d:chronicles_log_level=INFO --nimcache:nimcache --passC:-fprofile-arcs --passC:-ftest-coverage --passL:-fprofile-arcs --passL:-ftest-coverage ${{ matrix.nim-options }}
|
|
cd nimcache; rm *.c; cd ..
|
|
|
|
- name: Generate coverage data
|
|
run: |
|
|
mkdir coverage
|
|
lcov --capture --directory nimcache --output-file coverage/coverage.info
|
|
shopt -s globstar
|
|
ls $(pwd)/libp2pdht/{*,**/*}.nim
|
|
lcov --extract coverage/coverage.info $(pwd)/libp2pdht/{*,**/*}.nim --output-file coverage/coverage.f.info
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v2
|
|
with:
|
|
directory: ./coverage/
|
|
fail_ci_if_error: true
|
|
files: ./coverage/coverage.f.info
|
|
flags: unittests
|
|
name: codecov-umbrella
|
|
verbose: true
|