diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4a709986cc21b6ce4b43fd8b3adec4d63ce73850..077a4e61f34b9fabe4f4d9e649a92534dc4dc0c8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@
 ---
 
 default:
-  image: python:3.9
+  image: python:3.10
 
 .install_dependencies:
   before_script:
@@ -35,36 +35,37 @@ lint:
   interruptible: true
 
 build:gcc:
-  image: gcc:${VERSION}
   extends:
     - .install_dependencies
     - .compiler_versions
+  image: gcc:${VERSION}
   script:
     - cmake -S . -B build_gcc_${VERSION}
     - cmake --build build_gcc_${VERSION}
   artifacts:
     paths:
       - build_gcc_${VERSION}
-  needs: ["lint"]
   interruptible: true
 
 test:gcc:
-  image: gcc:${VERSION}
   extends:
     - .install_dependencies
     - .compiler_versions
+  image: gcc:${VERSION}
   script:
     - cd build_gcc_${VERSION} && ctest
-  dependencies: ["build:gcc"]
-  needs: ["build:gcc"]
+  needs:
+    - job: "build:gcc"
+      artifacts: true
   interruptible: true
 
 run:
   image: gcc:11
   script:
-    - cd build_gcc_11/bin/ && ./helloWorld
-  dependencies: ["build:gcc"]
-  needs: ["build:gcc", "test:gcc"]
+    - ./build_gcc_11/bin/helloWorld
+  needs:
+    - job: "build:gcc"
+      artifacts: true
   interruptible: true
 
 ...