diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 04937744c..18d601e45 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -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') @@ -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 diff --git a/Makefile b/Makefile index a92489e2f..3c709379b 100644 --- a/Makefile +++ b/Makefile @@ -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 @@ -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) @@ -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" diff --git a/doc/changelog.rst b/doc/changelog.rst index c9663f40e..edbcae888 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -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 -----