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