diff --git a/scripts/ci/jobs/pre-commit.yml b/scripts/ci/jobs/pre-commit.yml
index d7432b21ba6ec99ef56293192aacc9054c9b4177..4450e402f8aabe89e97d6685e72777e485eb02d1 100644
--- a/scripts/ci/jobs/pre-commit.yml
+++ b/scripts/ci/jobs/pre-commit.yml
@@ -2,6 +2,7 @@ pre commit:
   stage: preparation
   image: $PRECOMMIT_IMAGE
   needs: [ci_images]
+  allow_failure: true
   script:
     - pre-commit install
     - pre-commit run --from-ref `git merge-base origin/master HEAD` --to-ref HEAD
diff --git a/scripts/cmake/Dependencies.cmake b/scripts/cmake/Dependencies.cmake
index e6fa6bc6a13b95cd8c46741f0fad28e3758756b0..e5405a1ec9643075a423366319619db9093f7df3 100644
--- a/scripts/cmake/Dependencies.cmake
+++ b/scripts/cmake/Dependencies.cmake
@@ -49,9 +49,9 @@ if(exprtk_ADDED)
     target_include_directories(exprtk SYSTEM INTERFACE ${exprtk_SOURCE_DIR})
 endif()
 
-CPMAddPackage(NAME spdlog GITHUB_REPOSITORY gabime/spdlog VERSION 1.8.2)
+CPMFindPackage(NAME spdlog GITHUB_REPOSITORY gabime/spdlog VERSION 1.8.2)
 
-CPMAddPackage(
+CPMFindPackage(
     NAME tclap
     GITHUB_REPOSITORY ufz/tclap
     VERSION 1.2.4
@@ -217,7 +217,7 @@ else()
 endif()
 
 # Does not compile in Debug-mode, see #3175.
-if(CMAKE_BUILD_TYPE STREQUAL "Release")
+if(CMAKE_BUILD_TYPE STREQUAL "Release" AND OGS_BUILD_TESTING)
     set(XDMF_LIBNAME OgsXdmf CACHE STRING "")
     CPMAddPackage(
         NAME xdmf
@@ -272,7 +272,7 @@ if(OGS_BUILD_SWMM)
     endif()
 endif()
 
-CPMAddPackage(
+CPMFindPackage(
     NAME nlohmann_json
     VERSION 3.6.1
     # the git repo is incredibly large, so we download the archived include