diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml
index ae3b46aeec29dd3e03c0eb1d5b27d8e7a3b03db9..97c35af36f54c5247e883df4775d03b551c5b829 100644
--- a/scripts/ci/extends/template-build-linux.yml
+++ b/scripts/ci/extends/template-build-linux.yml
@@ -10,6 +10,7 @@
     - mkdir -p $BUILD_DIR
     - cd $BUILD_DIR
     - ([ "${CONAN_USER_HOME}" == "${CI_PROJECT_DIR}/.conan" ]) && conan remove --system-reqs '*'
+    - ([ "${CI_COMMIT_BRANCH}" == "master" -a $BUILD_CTEST_LARGE_ON_MASTER ]) && export BUILD_CTEST_LARGE=true
 
   script:
     - >
@@ -20,4 +21,6 @@
     - $BUILD_CMD_PREFIX cmake --build . --target package > >(tee make.output)
     - if $BUILD_TESTS ; then $BUILD_CMD_PREFIX cmake --build . --target tests ; fi
     - if $BUILD_CTEST ; then $BUILD_CMD_PREFIX cmake --build . --target ctest ; fi
+    - if $BUILD_CTEST_LARGE ; then $BUILD_CMD_PREFIX cmake --build . --target ctest-large ; fi
     - if $BUILD_CTEST ; then cp Testing/**/Test.xml Tests/ctest.xml ; fi
+    - if $BUILD_CTEST_LARGE ; then cp Testing/**/Test.xml Tests/ctest-large.xml ; fi
diff --git a/scripts/ci/jobs/build-linux-petsc.yml b/scripts/ci/jobs/build-linux-petsc.yml
index d832f7dee1cfb4071c82dd9887051aa24f13ee51..d81e8511aab3e6853f58c2c541b5ac7e19bb7943 100644
--- a/scripts/ci/jobs/build-linux-petsc.yml
+++ b/scripts/ci/jobs/build-linux-petsc.yml
@@ -4,6 +4,7 @@ build linux petsc:
     - envinf1-shell
   variables:
     BUILD_DIR: "build-petsc"
+    BUILD_CTEST_LARGE_ON_MASTER: "true"
     CMAKE_ARGS: >-
       -DBUILD_SHARED_LIBS=ON
       -DOGS_BUILD_UTILS=ON