diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 10d41ac7bc2730597c0bfea7d67561fc7db29804..38c38e28a591fc411fceb8d1fe4b54c69817d0ed 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,6 +17,7 @@
 stages:
   - compliance
   - build
+  - build-clang
   - update
   - test
   - report
@@ -26,6 +27,7 @@ include:
  - local: '/.oniro-ci/build-generic.yaml'
  - local: '/.oniro-ci/test-generic.yaml'
  - local: '/.oniro-ci/machines-and-flavours.yaml'
+ - local: '/.oniro-ci/machines-and-flavours-clang.yaml'
  - local: '/.oniro-ci/dco.yaml'
  - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
 
diff --git a/.oniro-ci/machines-and-flavours-clang.yaml b/.oniro-ci/machines-and-flavours-clang.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e5e32d786eea645aeb2c94141baf3b70733ce52f
--- /dev/null
+++ b/.oniro-ci/machines-and-flavours-clang.yaml
@@ -0,0 +1,225 @@
+# SPDX-License-Identifier: Apache-2.0
+# SPDX-FileCopyrightText: Huawei Inc.
+
+# Please do not include this file directly. It should be included through the
+# build-generic.yaml only.
+
+# The following jobs are documented in docs/ci/machines-and-flavours.rst
+#
+# This is copy-pasted version of machines-and-flavours.yaml
+# Please keep them in sync
+
+linux-qemu-x86-clang:
+  extends: .build-wic-image
+  stage: build-clang
+  variables:
+    MACHINE: qemux86
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-qemu-x86_64-clang:
+  extends: .build-wic-image
+  stage: build-clang
+  variables:
+    MACHINE: qemux86-64
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-seco-intel-b68-clang:
+  extends: .build-wic-image
+  stage: build-clang
+  variables:
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
+    MACHINE: seco-intel-b68
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-seco-intel-b68-extra-clang:
+  extends: .build-linux
+  stage: build-clang
+  variables:
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_BITBAKE_TARGETS: oniro-image-extra-tests
+    MACHINE: seco-intel-b68
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-seco-imx8mm-c61-2gb-clang:
+  extends: .build-linux-matrix
+  stage: build-clang
+  variables:
+    MACHINE: seco-imx8mm-c61-2gb
+    # This platform requires proprietary resources to boot.
+    # See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
+    CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-seco-imx8mm-c61-4gb-clang:
+  extends: .build-wic-image
+  stage: build-clang
+  variables:
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
+    MACHINE: seco-imx8mm-c61-4gb
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-seco-imx8mm-c61-4gb-extra-clang:
+  extends: .build-linux
+  stage: build-clang
+  variables:
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_BITBAKE_TARGETS: oniro-image-extra-tests
+    MACHINE: seco-imx8mm-c61-4gb
+    # This platform requires proprietary resources to boot.
+    # See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
+    CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+linux-raspberrypi4-64-clang:
+  extends: .build-wic-image
+  stage: build-clang
+  variables:
+    MACHINE: raspberrypi4-64
+    CI_ONIRO_BUILD_FLAVOUR: linux
+    CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-qemu-x86-clang:
+  extends: .build-zephyr-image
+  stage: build-clang
+  variables:
+    MACHINE: qemu-x86
+    # See the note on linux-qemu-x86.
+    CI_ONIRO_BUILD_CACHE: "pub"
+    CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
+    CI_ONIRO_RECIPE_NAME: zephyr-philosophers
+    CI_ONIRO_BUILD_FLAVOUR: zephyr
+    CI_ONIRO_INSTANCE_SIZE: s3.large.2
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-qemu-cortex-m3-clang:
+  extends: .build-zephyr-image
+  stage: build-clang
+  variables:
+    MACHINE: qemu-cortex-m3
+    # See the note on linux-qemu-x86.
+    CI_ONIRO_BUILD_CACHE: "pub"
+    CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
+    CI_ONIRO_RECIPE_NAME: zephyr-philosophers
+    CI_ONIRO_BUILD_FLAVOUR: zephyr
+    CI_ONIRO_INSTANCE_SIZE: s3.large.2
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-96b-nitrogen-clang:
+  extends: .build-zephyr-image
+  stage: build-clang
+  variables:
+    MACHINE: 96b-nitrogen
+    CI_ONIRO_RECIPE_NAME: zephyr-philosophers
+    CI_ONIRO_BUILD_FLAVOUR: zephyr
+    CI_ONIRO_INSTANCE_SIZE: s3.large.2
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-96b-nitrogen-tests-clang:
+  extends: .build-zephyr-image
+  stage: build-clang
+  variables:
+    MACHINE: 96b-nitrogen
+    CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-all
+    CI_ONIRO_BUILD_FLAVOUR: zephyr
+    CI_ONIRO_INSTANCE_SIZE: s3.large.2
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-96b-nitrogen-twister-clang:
+  extends: .build-image
+  stage: build-clang
+  variables:
+    MACHINE: 96b-nitrogen
+    CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-twister
+    CI_ONIRO_BUILD_FLAVOUR: zephyr
+    CI_ONIRO_INSTANCE_SIZE: s3.large.2
+    CI_ONIRO_JOB_ARTIFACTS: "twister*.tar.bz2"
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-96b-avenger-clang:
+  extends: .build-zephyr
+  stage: build-clang
+  variables:
+    MACHINE: 96b-avenger96
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-nrf52840dk-nrf52840-clang:
+  extends: .build-zephyr
+  stage: build-clang
+  variables:
+    MACHINE: nrf52840dk-nrf52840
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+zephyr-arduino-nano-33-ble-clang:
+  extends: .build-zephyr
+  stage: build-clang
+  variables:
+    MACHINE: arduino-nano-33-ble
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
+
+freertos-armv5-clang:
+  extends: .build-freertos
+  stage: build-clang
+  variables:
+    MACHINE: qemuarmv5
+    # See the note on linux-qemu-x86.
+    CI_ONIRO_BUILD_CACHE: "pub"
+    CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
+    CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
+    CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
+  when: manual
+  allow_failure: true
diff --git a/.oniro-ci/machines-and-flavours.yaml b/.oniro-ci/machines-and-flavours.yaml
index 3f544b5c2f54617ece6d3913f8195e40637d379e..d6daff4bd0b96cadcc8493a0a46e7913e3412e12 100644
--- a/.oniro-ci/machines-and-flavours.yaml
+++ b/.oniro-ci/machines-and-flavours.yaml
@@ -5,6 +5,9 @@
 # build-generic.yaml only.
 
 # The following jobs are documented in docs/ci/machines-and-flavours.rst
+#
+# This is copy-pasted version of machines-and-flavours-clang.yaml
+# Please keep them in sync
 
 linux-qemu-x86:
   extends: .build-wic-image