Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lcov update #396

Merged
merged 23 commits into from
Sep 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,25 @@ jobs:
echo "CXX=icpx" >> $GITHUB_ENV &&
echo "FC=ifort" >> $GITHUB_ENV

# Set up perl environment for LCOV
- uses: actions/checkout@v3
- name: Setup perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: '5.30'
install-modules: Memory::Process

# Install additional perl Modules
- name: Add perl modules
run: |
sudo apt install libcapture-tiny-perl && \
sudo apt install libdatetime-perl && \
sudo apt install libdevel-cover-perl && \
sudo apt install libdigest-md5-perl && \
sudo apt install libfile-spec-perl && \
sudo apt install libjson-xs-perl && \
sudo apt install libtime-hires-perl

# Install additional dependencies
- name: Install Cmake Linux
if: contains(matrix.os, 'ubuntu')
Expand Down Expand Up @@ -167,7 +186,7 @@ jobs:

# Process and upload code coverage (Python was collected during pytest)
- name: Collect coverage from C/C++/Fortran testers
run: third-party/lcov/install/usr/local/bin/lcov -c -d build/Coverage/CMakeFiles -o coverage.info
run: third-party/lcov/install/bin/lcov --ignore-errors gcov,mismatch --keep-going -c -d build/Coverage/CMakeFiles -o coverage.info

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
Expand Down
10 changes: 6 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
# General settings
MAKEFLAGS += --no-print-directory
SHELL:=/bin/bash
CWD := $(shell pwd)

# Params for third-party software
HIREDIS_URL := https://github.com/redis/hiredis.git
Expand All @@ -42,7 +43,7 @@ REDISAI_URL := https://github.com/RedisAI/RedisAI.git
CATCH2_URL := https://github.com/catchorg/Catch2.git
CATCH2_VER := v2.13.6
LCOV_URL := https://github.com/linux-test-project/lcov.git
LCOV_VER := v1.15
LCOV_VER := v2.0

# Build variables
NPROC := $(shell nproc 2>/dev/null || python -c "import multiprocessing as mp; print (mp.cpu_count())" 2>/dev/null || echo 4)
Expand Down Expand Up @@ -596,12 +597,13 @@ third-party/catch/single_include/catch2/catch.hpp:

# LCOV (hidden test target)
.PHONY: lcov
lcov: third-party/lcov/install/usr/local/bin/lcov
third-party/lcov/install/usr/local/bin/lcov:
lcov: third-party/lcov/install/bin/lcov
third-party/lcov/install/bin/lcov:
@echo Installing LCOV
@mkdir -p third-party
@cd third-party && \
git clone $(LCOV_URL) lcov --branch $(LCOV_VER) --depth=1
@cd third-party/lcov && \
mkdir -p install && \
CC=gcc CXX=g++ DESTDIR="install/" make install && \
CC=gcc CXX=g++ make PREFIX=$(CWD)/third-party/lcov/install/ install && \
echo "Finished installing LCOV"
15 changes: 15 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
Changelog
=========

Development branch
------------------

To be released at some future point in time

Description

- Updated the third-party lcov component

Detailed Notes

- Updated lcov from version 1.15 to 2.0 (PR395_)

.. _PR395: https://github.com/CrayLabs/SmartRedis/pull/395

0.4.2
-----

Expand Down