mirror of
https://github.com/vacp2p/nim-libp2p.git
synced 2025-03-03 17:40:38 +00:00
The main motivation was to update the Ubuntu version on the daily job as it seemed it wasn't supported anymore. macOS 14 fails immediately with no error msg, so we are using 13 for now.
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
name: nim-libp2p codecov builds
|
|
|
|
on:
|
|
#On push to common branches, this computes the "bases stats" for PRs
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
Coverage:
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
CICOV: YES
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Nim
|
|
uses: "./.github/actions/install_nim"
|
|
with:
|
|
os: linux
|
|
cpu: amd64
|
|
shell: bash
|
|
|
|
- name: Restore deps from cache
|
|
id: deps-cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: nimbledeps
|
|
key: nimbledeps-${{ hashFiles('.pinned') }}
|
|
|
|
- name: Install deps
|
|
if: ${{ steps.deps-cache.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
nimble install_pinned
|
|
|
|
- name: Run
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y lcov build-essential git curl
|
|
mkdir coverage
|
|
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
|