diff --git a/.gitlab/build.yml b/.gitlab/build.yml
index 1cc7ef41182675644ae2d6441357f397e9a7aef4..b05f37476829da5c259b7328c4e4fc31e79eaa8b 100644
--- a/.gitlab/build.yml
+++ b/.gitlab/build.yml
@@ -12,7 +12,9 @@
 
 .build_script_linux:
   extends: .build_script_common
+  tags: ['ci.inria.fr', 'linux']
   variables:
+    GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
     SYSTEM: linux
   script:
     - bash .gitlab/build.sh | tee ${LOGNAME}.log
@@ -20,7 +22,6 @@
 build_hmat:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: hmat
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=OFF -DCHAMELEON_USE_MPI=ON -DCHAMELEON_USE_HMATOSS=ON"
@@ -28,7 +29,6 @@ build_hmat:
 build_openmp:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: openmp
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     BUILD_OPTIONS: "-DCHAMELEON_SCHED=OPENMP"
@@ -36,7 +36,6 @@ build_openmp:
 build_parsec:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: parsec
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     BUILD_OPTIONS: "-DCHAMELEON_SCHED=PARSEC"
@@ -44,7 +43,6 @@ build_parsec:
 build_quark:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: quark
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     BUILD_OPTIONS: "-DCHAMELEON_SCHED=QUARK"
@@ -52,7 +50,6 @@ build_quark:
 build_starpu:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: starpu
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=OFF -DCHAMELEON_USE_MPI=ON"
@@ -89,7 +86,6 @@ build_starpu_hip:
 build_starpu_simgrid:
   extends: .build_script_linux
   variables:
-    SYSTEM: linux
     VERSION: starpu_simgrid
     LOGNAME: "chameleon-build-${SYSTEM}-${VERSION}"
     CHAM_CI_ENV_ARG: simgrid
diff --git a/.gitlab/common.yml b/.gitlab/common.yml
index f4e30eb4b89a16504b85edf3900a0740fb108427..9b1c50fc4c6f50645d715db1332267ea1882e14a 100644
--- a/.gitlab/common.yml
+++ b/.gitlab/common.yml
@@ -4,7 +4,6 @@
 ---
 default:
   image: $CI_REGISTRY_IMAGE
-  tags: ['ci.inria.fr', 'linux', 'large'] # gitlab instance runner (i.e. docker on linux)
   interruptible: true
 
 variables:
@@ -31,6 +30,10 @@ variables:
 
 .test_script_linux:
   stage: test
+  tags: ['ci.inria.fr', 'linux', 'large']
+  variables:
+    GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
+    SYSTEM: linux
   script:
     - bash .gitlab/test.sh | tee ${LOGNAME}.log
   artifacts:
diff --git a/.gitlab/coverage.yml b/.gitlab/coverage.yml
index cbe0a2aca08937a32668022ecbeadb170354d3aa..dfc3a3d93b8e07e5061285f26d985547315c1423 100644
--- a/.gitlab/coverage.yml
+++ b/.gitlab/coverage.yml
@@ -7,8 +7,11 @@
 ---
 .coverage:
   stage: coverage
+  tags: ['ci.inria.fr', 'linux']
+  variables:
+    GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
   script:
-    - tools/coverage.sh
+    - ./tools/coverage.sh
   coverage: /^\s*lines......:\s*\d+.\d+\%/
   artifacts:
     name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
diff --git a/.gitlab/coverity.yml b/.gitlab/coverity.yml
index 8a2fdd0b38e079147a159df48e58088090f276a1..af2526f1841ddf19a91254e0e3d55ea864c9fb72 100644
--- a/.gitlab/coverity.yml
+++ b/.gitlab/coverity.yml
@@ -1,6 +1,7 @@
 ---
 coverity:
   stage: analyze
+  tags: ['ci.inria.fr', 'linux', 'large']
   rules:
     - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule"
     - if: ($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/)
diff --git a/.gitlab/docker.yml b/.gitlab/docker.yml
index f2510aee3c5aac35a648b465ee552377bd2c3517..af387951ac42dfc1777a28e9f797097a2c0b7cf2 100644
--- a/.gitlab/docker.yml
+++ b/.gitlab/docker.yml
@@ -1,6 +1,7 @@
 ---
 .docker_script_common:
   stage: docker
+  tags: ['ci.inria.fr', 'linux']
   image: docker
   when: manual
   before_script:
diff --git a/.gitlab/pages.yml b/.gitlab/pages.yml
index 3e533f37978f158b241fa90a2aab0178c021d65e..af8f47aec8db4374e8374167213c742705687a1a 100644
--- a/.gitlab/pages.yml
+++ b/.gitlab/pages.yml
@@ -1,6 +1,7 @@
 ---
 pages:
   stage: deploy
+  tags: ['ci.inria.fr', 'linux']
   image: $CI_REGISTRY_IMAGE/pages
   extends: .only-master
   needs: [coverage_master]
diff --git a/.gitlab/preliminary.yml b/.gitlab/preliminary.yml
index aba737c6367dc4b884fa1edd508edefb4ee10ace..50694f328d8680bcbbd7388595b4b446add491b9 100644
--- a/.gitlab/preliminary.yml
+++ b/.gitlab/preliminary.yml
@@ -4,6 +4,7 @@
 ---
 preliminary_checks:
   stage: pre
+  tags: ['ci.inria.fr', 'linux']
   image: registry.gitlab.inria.fr/solverstack/docker/pre
   rules:
     - if: $CI_PIPELINE_SOURCE == "merge_request_event"
diff --git a/.gitlab/release.yml b/.gitlab/release.yml
index 9ccd1ef98412fc1c90eb5e1aec376663667530a3..e21291cd5db4366fc928b2781e24420d6a3b50ea 100644
--- a/.gitlab/release.yml
+++ b/.gitlab/release.yml
@@ -1,6 +1,7 @@
 ---
 release:
   stage: deploy
+  tags: ['ci.inria.fr', 'linux']
   rules:
     - if: $CI_COMMIT_TAG =~ /^v[0-9]\.[0-9]\.[0-9]$/ && $CI_PIPELINE_SOURCE != "schedule"
   dependencies: []
diff --git a/.gitlab/sonarqube.yml b/.gitlab/sonarqube.yml
index dcc43e95e844d207096bc9e6b49e32f8c764f77d..c87120606a37ce6d89acf28b5f39f3e14ddc8c06 100644
--- a/.gitlab/sonarqube.yml
+++ b/.gitlab/sonarqube.yml
@@ -1,7 +1,9 @@
 ---
 .sonarqube:
   stage: analyze
+  tags: ['ci.inria.fr', 'linux']
   variables:
+    GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
     GIT_CONFIG_COUNT: 1
     GIT_CONFIG_KEY_0: "safe.directory"
     GIT_CONFIG_VALUE_0: "*"
diff --git a/.gitlab/test_hmat.yml b/.gitlab/test_hmat.yml
index 0e00d32db44d83d399738ac2e52de37131b9c35e..211c3651e99a84791b4d16695cef49992a864e9a 100644
--- a/.gitlab/test_hmat.yml
+++ b/.gitlab/test_hmat.yml
@@ -5,7 +5,6 @@ test_hmat:
     - .only-master-mr
   needs: [build_hmat]
   variables:
-    SYSTEM: linux
     VERSION: hmat
     CATEGORY: none
     PRECISION: all
diff --git a/.gitlab/test_openmp.yml b/.gitlab/test_openmp.yml
index 923e7ebb378818a00a6fdf7f4ca1fdde61560db1..46c18f2af23875fdf9ceb5f4613c1cc4ca46dc4f 100644
--- a/.gitlab/test_openmp.yml
+++ b/.gitlab/test_openmp.yml
@@ -3,7 +3,6 @@
   extends: .test_script_linux
   needs: [build_openmp]
   variables:
-    SYSTEM: linux
     VERSION: openmp
     CATEGORY: shm
     LOGNAME: "chameleon-test-${SYSTEM}-${VERSION}-${CATEGORY}-${PRECISION}"
diff --git a/.gitlab/test_parsec.yml b/.gitlab/test_parsec.yml
index b131e8b6924e3fcf92c71d5275fd907c233df255..ba5af875be5e2e413fe94fd3e8a7e9e5bd859346 100644
--- a/.gitlab/test_parsec.yml
+++ b/.gitlab/test_parsec.yml
@@ -3,7 +3,6 @@
   extends: .test_script_linux
   needs: [build_parsec]
   variables:
-    SYSTEM: linux
     VERSION: parsec
     CATEGORY: shm
     LOGNAME: "chameleon-test-${SYSTEM}-${VERSION}-${CATEGORY}-${PRECISION}"
diff --git a/.gitlab/test_quark.yml b/.gitlab/test_quark.yml
index 0bd998d9b9850dbe80fea058d16a731cd5ccd7b3..ec816705508862a18f0ebc7c14929f14e6c28a00 100644
--- a/.gitlab/test_quark.yml
+++ b/.gitlab/test_quark.yml
@@ -3,7 +3,6 @@
   extends: .test_script_linux
   needs: [build_quark]
   variables:
-    SYSTEM: linux
     VERSION: quark
     CATEGORY: shm
     LOGNAME: "chameleon-test-${SYSTEM}-${VERSION}-${CATEGORY}-${PRECISION}"
diff --git a/.gitlab/test_starpu.yml b/.gitlab/test_starpu.yml
index 18287262480ff0cc2ae8bd17a7c92ad50d504816..6eec74f4e20bb1d476986629f08bb6a9f88420ff 100644
--- a/.gitlab/test_starpu.yml
+++ b/.gitlab/test_starpu.yml
@@ -3,7 +3,6 @@
   extends: .test_script_linux
   needs: [build_starpu]
   variables:
-    SYSTEM: linux
     VERSION: starpu
     LOGNAME: "chameleon-test-${SYSTEM}-${VERSION}-${CATEGORY}-${PRECISION}"
     TESTS_RESTRICTION: "-R _${CATEGORY}_${PRECISION}|example"
diff --git a/.gitlab/test_starpu_simgrid.yml b/.gitlab/test_starpu_simgrid.yml
index 988ada631d01ba760429493cde7f51ad8a17b566..0fc98d1569fb4e7231acb3e659d94093ba3f38b5 100644
--- a/.gitlab/test_starpu_simgrid.yml
+++ b/.gitlab/test_starpu_simgrid.yml
@@ -7,7 +7,6 @@ test_starpu_simgrid_simu_all:
   variables:
     STARPU_WORKERS_NOBIND: 1
     CHAM_CI_ENV_ARG: simgrid
-    SYSTEM: linux
     VERSION: starpu_simgrid
     CATEGORY: simu
     PRECISION: all