diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 72857c99f71225266098e9d076eeca4c90d2a907..02dcaa54619e533ef125a8605b22b4e1ced4bab3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -206,6 +206,7 @@ FileLicenceCheck:
 # job template
 #
 .build_and_test: &build_and_test
+  timeout: 1h 30m # Possible since Gitlab 15.7, job-level timeout can exceed project timeout but not Runner timeout
   before_script:
     - if [ "$CI_MERGE_REQUEST_PROJECT_PATH" != "computing/cbmroot" ]; then
     -   if [ "$CI_PROJECT_PATH" != "computing/cbmroot" ]; then