From 9bd32f53a2d9b729a75c5cbc4c999d19f9f3d363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Ospina=20De=20Los=20R=C3=ADos?= <sospinar@gmail.com> Date: Mon, 3 Mar 2025 15:53:19 +0000 Subject: [PATCH 1/4] Test coverage in CI --- .gitlab-ci.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3aec4f826..41443e80d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,3 +81,35 @@ reuse: before_script: "" script: - reuse lint + + +debian:12 gcc-12-20 (with checking & coverage): + extends: .common + image: registry.dune-project.org/docker/ci/debian:12 + variables: + DUNECI_CXXFLAGS: " -DDUNE_CHECK_BOUNDS=1 -DDUNE_ISTL_WITH_CHECKING=1 -DDUNE_FMatrix_WITH_CHECKING=1 -DCHECK_RESERVEDVECTOR=1 --coverage -lgcov " + DUNECI_TOOLCHAIN: gcc-12-20 + # Notes: + # - Only works for gcc + # - The gcov executable needs to match the version of the gcc toolchain + GCOVR_OPTS: + --gcov-executable gcov-12 + --root $CI_PROJECT_DIR + --exclude $CI_PROJECT_DIR/build-cmake + --exclude-unreachable-branches + --xml-pretty + --print-summary + --output $CI_PROJECT_DIR/coverage.xml + after_script: + # Create a coverage report + - gcovr $GCOVR_OPTS $CI_PROJECT_DIR/build-cmake + artifacts: + reports: + expire_in: 2 years + junit: junit/*.xml + coverage_report: + coverage_format: cobertura + path: coverage.xml + # gcovr reports results (`--print-summary` option above). With this line we extract the + # result (% of covered lines) to report them in gitlab + coverage: /^\s*lines:\s*\d+.\d+\%/ -- GitLab From 41d4043f605cc2c51ff1313818ede449de0527a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Ospina=20De=20Los=20R=C3=ADos?= <sospinar@gmail.com> Date: Mon, 3 Mar 2025 15:56:02 +0000 Subject: [PATCH 2/4] Fix syntax error --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41443e80d..bf60302f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,8 +104,8 @@ debian:12 gcc-12-20 (with checking & coverage): # Create a coverage report - gcovr $GCOVR_OPTS $CI_PROJECT_DIR/build-cmake artifacts: + expire_in: 2 years reports: - expire_in: 2 years junit: junit/*.xml coverage_report: coverage_format: cobertura -- GitLab From a72f833528abc7f9a049d027f6bcad7c2a734beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Ospina=20De=20Los=20R=C3=ADos?= <sospinar@gmail.com> Date: Mon, 3 Mar 2025 16:18:20 +0000 Subject: [PATCH 3/4] Diable python --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bf60302f2..b1a9f6a7f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,11 +83,11 @@ reuse: - reuse lint -debian:12 gcc-12-20 (with checking & coverage): +debian:12 gcc-12-20 (with checking, coverage, no python): extends: .common image: registry.dune-project.org/docker/ci/debian:12 variables: - DUNECI_CXXFLAGS: " -DDUNE_CHECK_BOUNDS=1 -DDUNE_ISTL_WITH_CHECKING=1 -DDUNE_FMatrix_WITH_CHECKING=1 -DCHECK_RESERVEDVECTOR=1 --coverage -lgcov " + DUNECI_CXXFLAGS: " -DCMAKE_DISABLE_FIND_PACKAGE_Python3:BOOL=ON -DDUNE_CHECK_BOUNDS=1 -DDUNE_ISTL_WITH_CHECKING=1 -DDUNE_FMatrix_WITH_CHECKING=1 -DCHECK_RESERVEDVECTOR=1 --coverage -lgcov " DUNECI_TOOLCHAIN: gcc-12-20 # Notes: # - Only works for gcc -- GitLab From 991e5b3a3611c9910b0c2f5a180bd939e706d0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Ospina=20De=20Los=20R=C3=ADos?= <sospinar@gmail.com> Date: Mon, 3 Mar 2025 17:05:27 +0000 Subject: [PATCH 4/4] Disable python --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1a9f6a7f..34c843259 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -87,7 +87,8 @@ debian:12 gcc-12-20 (with checking, coverage, no python): extends: .common image: registry.dune-project.org/docker/ci/debian:12 variables: - DUNECI_CXXFLAGS: " -DCMAKE_DISABLE_FIND_PACKAGE_Python3:BOOL=ON -DDUNE_CHECK_BOUNDS=1 -DDUNE_ISTL_WITH_CHECKING=1 -DDUNE_FMatrix_WITH_CHECKING=1 -DCHECK_RESERVEDVECTOR=1 --coverage -lgcov " + DUNECI_CXXFLAGS: " -DDUNE_CHECK_BOUNDS=1 -DDUNE_ISTL_WITH_CHECKING=1 -DDUNE_FMatrix_WITH_CHECKING=1 -DCHECK_RESERVEDVECTOR=1 --coverage -lgcov " + DUNECI_CMAKE_FLAGS: " -DCMAKE_DISABLE_FIND_PACKAGE_Python3:BOOL=ON " DUNECI_TOOLCHAIN: gcc-12-20 # Notes: # - Only works for gcc -- GitLab