diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b861f1af04fb8be0e1f5bb833c727e0cc2a6b59d..0785e139fc07d0566e436c715dbdaf5d5d18d0b8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,8 @@
 
 stages:
   - compliance
-  - build
+  - build-gcc
+  - build-clang
   - test
   - report
 
@@ -35,37 +36,33 @@ reuse:
 .workspace:
   variables:
     CI_ONIRO_GIT_REPO_PATH: meta-zephyr
-
 # Disable Linux and FreeRTOS builds that are unlikely to be affected by Zephyr
-# changes and certainly save some time. Some jobs no longer use the
-# .build-$flavour base so they are disabled separately.
-.build-linux:
+# changes and certainly save some time. Some jobs use .broken template which sets
+# when: manual on its own so they are disabled separately below
   rules:
-    - when: never
-
-.build-linux-matrix:
-  rules:
-    - when: never
+    - if: "$CI_ONIRO_BUILD_FLAVOUR == 'linux'"
+      when: never
+    - if: "$CI_ONIRO_BUILD_FLAVOUR == 'freertos'"
+      when: never
+    - when: on_success
 
-.build-wic-image:
+## This jobs must be overriden manualy because of .broken rules extention
+linux-seco-imx8mm-c61-2gb-clang:
   rules:
     - when: never
 
-.build-freertos:
+linux-seco-imx8mm-c61-4gb-clang:
   rules:
     - when: never
 
-linux-qemu-x86:
+freertos-armv5-clang:
   rules:
     - when: never
 
-linux-qemu-x86_64:
+linux-seco-imx8mm-c61-4gb-extra-clang:
   rules:
     - when: never
 
-linux-raspberrypi4-64:
-  rules:
-    - when: never
 
 # Run lava test and report jobs for scheduled pipeline only.
 .lava-test:
@@ -85,7 +82,7 @@ linux-raspberrypi4-64:
 ## Submit jobs to LAVA
 ##
 lava-zephyr-96b-nitrogen-tests:
-  needs: [zephyr-96b-nitrogen-tests]
+  needs: [zephyr-96b-nitrogen-tests-gcc]
   stage: test
   extends: .lava-test
   variables:
@@ -94,7 +91,7 @@ lava-zephyr-96b-nitrogen-tests:
     CI_REPORT_JOB_NAME: lava-report
 
 lava-zephyr-qemu-cortex-m3:
-  needs: [zephyr-qemu-cortex-m3]
+  needs: [zephyr-qemu-cortex-m3-gcc]
   stage: test
   extends: .lava-test
   variables:
@@ -103,7 +100,7 @@ lava-zephyr-qemu-cortex-m3:
     CI_REPORT_JOB_NAME: lava-report
 
 lava-zephyr-qemu-x86:
-  needs: [zephyr-qemu-x86]
+  needs: [zephyr-qemu-x86-gcc]
   stage: test
   extends: .lava-test
   variables: