- - name: Install deps for kcov
- if: matrix.coverage
- run: |
- sudo apt-get update
- sudo apt-get -y install binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
- - name: Install kcov
- if: matrix.coverage
- run: |
- wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz
- tar xzf master.tar.gz
- cd kcov-master && mkdir build && cd build
- cmake ..
- make
- make install DESTDIR=../../kcov-build
- cd ../.. && rm -rf kcov-master master.tar.gz
- - name: Generate coverage report
- if: matrix.coverage
- run: |
- for file in target/debug/deps/lightning*; do
- [ -x "${file}" ] || continue;
- mkdir -p "target/cov/$(basename $file)";
- ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file";
- done
- - name: Upload coverage
- if: matrix.coverage
- uses: codecov/codecov-action@v3