Skip to content
Snippets Groups Projects

.oniro-ci,.gitlab-ci.yml: add optional clang jobs

Merged Zygmunt Krynicki requested to merge zyga/oniro:feature/clang-ci into kirkstone
2 files
+ 158
63
Compare changes
  • Side-by-side
  • Inline
Files
2
  • Unqualified jobs, which rely on the default compiler, are gone.
    Qualified jobs explicitly configure either clang or gcc and use the
    appropriate suffix. Qualified jobs have needs/depends set to empty to
    both avoid waiting for previous stages to start and to avoid pulling in
    artifacts from the previous stage.
    
    Qualified jobs inhabit two new lanes: build-gcc and build-clang, to
    visually break the already long column of "build" jobs.
    
    Job ordering within a lane is not exactly matching, gcc-clang. This is
    noticeable with the jobs using the "extra" suffix. The reason for this
    is unclear.
    
    Some jobs are marked as broken as they do not build with clang. Allow
    them to fail and make them start manually until more patches arrive.
    
    Signed-off-by: default avatarZygmunt Krynicki <zygmunt.krynicki@huawei.com>
@@ -6,7 +6,32 @@
@@ -6,7 +6,32 @@
# The following jobs are documented in docs/ci/machines-and-flavours.rst
# The following jobs are documented in docs/ci/machines-and-flavours.rst
linux-qemu-x86:
.toolchain-gcc:
 
stage: build-gcc
 
dependencies: []
 
needs: []
 
variables:
 
CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "gcc"
 
CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "gnu"
 
 
.toolchain-clang:
 
stage: build-clang
 
dependencies: []
 
needs: []
 
variables:
 
CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "clang"
 
CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "llvm"
 
 
.broken:
 
rules:
 
# Some builds fail, so allow them to fail until the situation improves
 
# dramatically so that the policy can be re-visited. Clang builds are also
 
# expensive, so only present the user with an option to start the build,
 
# but do not commence the build automatically.
 
- when: manual
 
allow_failure: true
 
 
.linux-qemu-x86:
extends: .build-wic-image
extends: .build-wic-image
variables:
variables:
MACHINE: qemux86
MACHINE: qemux86
@@ -20,8 +45,12 @@ linux-qemu-x86:
@@ -20,8 +45,12 @@ linux-qemu-x86:
# tainted build intermediate files, downloads or published artifacts.
# tainted build intermediate files, downloads or published artifacts.
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap ovmf.qcow2"
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap ovmf.qcow2"
 
linux-qemu-x86-gcc:
 
extends: [.linux-qemu-x86, .toolchain-gcc]
 
linux-qemu-x86-clang:
 
extends: [.linux-qemu-x86, .toolchain-clang]
linux-qemu-x86_64:
.linux-qemu-x86_64:
extends: .build-wic-image
extends: .build-wic-image
variables:
variables:
MACHINE: qemux86-64
MACHINE: qemux86-64
@@ -31,30 +60,46 @@ linux-qemu-x86_64:
@@ -31,30 +60,46 @@ linux-qemu-x86_64:
CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap ovmf.qcow2"
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap ovmf.qcow2"
 
linux-qemu-x86_64-gcc:
 
extends: [.linux-qemu-x86_64, .toolchain-gcc]
 
linux-qemu-x86_64-clang:
 
extends: [.linux-qemu-x86_64, .toolchain-clang]
linux-seco-intel-b68:
.linux-seco-intel-b68:
extends: .build-wic-image
extends: .build-wic-image
variables:
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
MACHINE: seco-intel-b68
MACHINE: seco-intel-b68
 
linux-seco-intel-b68-gcc:
 
extends: [.linux-seco-intel-b68, .toolchain-gcc]
 
linux-seco-intel-b68-clang:
 
extends: [.linux-seco-intel-b68, .toolchain-clang]
linux-seco-intel-b68-extra:
.linux-seco-intel-b68-extra:
extends: .build-linux
extends: .build-linux
variables:
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BITBAKE_TARGETS: oniro-image-extra-tests
CI_ONIRO_BITBAKE_TARGETS: oniro-image-extra-tests
MACHINE: seco-intel-b68
MACHINE: seco-intel-b68
 
linux-seco-intel-b68-extra-gcc:
 
extends: [.linux-seco-intel-b68-extra, .toolchain-gcc]
 
linux-seco-intel-b68-extra-clang:
 
extends: [.linux-seco-intel-b68-extra, .toolchain-clang]
linux-seco-imx8mm-c61-2gb:
.linux-seco-imx8mm-c61-2gb:
extends: .build-linux-matrix
extends: .build-linux-matrix
variables:
variables:
MACHINE: seco-imx8mm-c61-2gb
MACHINE: seco-imx8mm-c61-2gb
# This platform requires proprietary resources to boot.
# This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
# 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_ACCEPT_FSL_EULA: 1
 
linux-seco-imx8mm-c61-2gb-gcc:
 
extends: [.linux-seco-imx8mm-c61-2gb, .toolchain-gcc]
 
linux-seco-imx8mm-c61-2gb-clang:
 
extends: [.linux-seco-imx8mm-c61-2gb, .toolchain-clang, .broken]
linux-seco-imx8mm-c61-4gb:
.linux-seco-imx8mm-c61-4gb:
extends: .build-wic-image
extends: .build-wic-image
variables:
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BUILD_FLAVOUR: linux
@@ -64,8 +109,12 @@ linux-seco-imx8mm-c61-4gb:
@@ -64,8 +109,12 @@ linux-seco-imx8mm-c61-4gb:
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
# 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_ACCEPT_FSL_EULA: 1
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap flash.bin-seco-imx8mm-c61*"
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap flash.bin-seco-imx8mm-c61*"
 
linux-seco-imx8mm-c61-4gb-gcc:
 
extends: [.linux-seco-imx8mm-c61-4gb, .toolchain-gcc]
 
linux-seco-imx8mm-c61-4gb-clang:
 
extends: [.linux-seco-imx8mm-c61-4gb, .toolchain-clang, .broken]
linux-seco-imx8mm-c61-4gb-extra:
.linux-seco-imx8mm-c61-4gb-extra:
extends: .build-linux
extends: .build-linux
variables:
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BUILD_FLAVOUR: linux
@@ -74,15 +123,23 @@ linux-seco-imx8mm-c61-4gb-extra:
@@ -74,15 +123,23 @@ linux-seco-imx8mm-c61-4gb-extra:
# This platform requires proprietary resources to boot.
# This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
# 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_ACCEPT_FSL_EULA: 1
 
linux-seco-imx8mm-c61-4gb-extra-gcc:
 
extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-gcc]
 
linux-seco-imx8mm-c61-4gb-extra-clang:
 
extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken]
linux-raspberrypi4-64:
.linux-raspberrypi4-64:
extends: .build-wic-image
extends: .build-wic-image
variables:
variables:
MACHINE: raspberrypi4-64
MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
 
linux-raspberrypi4-64-gcc:
 
extends: [.linux-raspberrypi4-64, .toolchain-gcc]
 
linux-raspberrypi4-64-clang:
 
extends: [.linux-raspberrypi4-64, .toolchain-clang]
zephyr-qemu-x86:
.zephyr-qemu-x86:
extends: .build-zephyr-image
extends: .build-zephyr-image
variables:
variables:
MACHINE: qemu-x86
MACHINE: qemu-x86
@@ -92,8 +149,12 @@ zephyr-qemu-x86:
@@ -92,8 +149,12 @@ zephyr-qemu-x86:
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_INSTANCE_SIZE: s3.large.2
 
zephyr-qemu-x86-gcc:
 
extends: [.zephyr-qemu-x86, .toolchain-gcc]
 
zephyr-qemu-x86-clang:
 
extends: [.zephyr-qemu-x86, .toolchain-clang, .broken]
zephyr-qemu-cortex-m3:
.zephyr-qemu-cortex-m3:
extends: .build-zephyr-image
extends: .build-zephyr-image
variables:
variables:
MACHINE: qemu-cortex-m3
MACHINE: qemu-cortex-m3
@@ -103,24 +164,36 @@ zephyr-qemu-cortex-m3:
@@ -103,24 +164,36 @@ zephyr-qemu-cortex-m3:
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_INSTANCE_SIZE: s3.large.2
 
zephyr-qemu-cortex-m3-gcc:
 
extends: [.zephyr-qemu-cortex-m3, .toolchain-gcc]
 
zephyr-qemu-cortex-m3-clang:
 
extends: [.zephyr-qemu-cortex-m3, .toolchain-clang, .broken]
zephyr-96b-nitrogen:
.zephyr-96b-nitrogen:
extends: .build-zephyr-image
extends: .build-zephyr-image
variables:
variables:
MACHINE: 96b-nitrogen
MACHINE: 96b-nitrogen
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_INSTANCE_SIZE: s3.large.2
 
zephyr-96b-nitrogen-gcc:
 
extends: [.zephyr-96b-nitrogen, .toolchain-gcc]
 
zephyr-96b-nitrogen-clang:
 
extends: [.zephyr-96b-nitrogen, .toolchain-clang, .broken]
zephyr-96b-nitrogen-tests:
.zephyr-96b-nitrogen-tests:
extends: .build-zephyr-image
extends: .build-zephyr-image
variables:
variables:
MACHINE: 96b-nitrogen
MACHINE: 96b-nitrogen
CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-all
CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-all
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_INSTANCE_SIZE: s3.large.2
 
zephyr-96b-nitrogen-tests-gcc:
 
extends: [.zephyr-96b-nitrogen-tests, .toolchain-gcc]
 
zephyr-96b-nitrogen-tests-clang:
 
extends: [.zephyr-96b-nitrogen-tests, .toolchain-clang, .broken]
zephyr-96b-nitrogen-twister:
.zephyr-96b-nitrogen-twister:
extends: .build-image
extends: .build-image
variables:
variables:
MACHINE: 96b-nitrogen
MACHINE: 96b-nitrogen
@@ -128,26 +201,46 @@ zephyr-96b-nitrogen-twister:
@@ -128,26 +201,46 @@ zephyr-96b-nitrogen-twister:
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_JOB_ARTIFACTS: "twister*.tar.bz2"
CI_ONIRO_JOB_ARTIFACTS: "twister*.tar.bz2"
 
zephyr-96b-nitrogen-twister-gcc:
 
extends: [.zephyr-96b-nitrogen-twister, .toolchain-gcc]
 
zephyr-96b-nitrogen-twister-clang:
 
extends: [.zephyr-96b-nitrogen-twister, .toolchain-clang, .broken]
zephyr-96b-avenger:
.zephyr-96b-avenger:
extends: .build-zephyr
extends: .build-zephyr
variables:
variables:
MACHINE: 96b-avenger96
MACHINE: 96b-avenger96
 
zephyr-96b-avenger-gcc:
 
extends: [.zephyr-96b-avenger, .toolchain-gcc]
 
zephyr-96b-avenger-clang:
 
extends: [.zephyr-96b-avenger, .toolchain-clang, .broken]
zephyr-nrf52840dk-nrf52840:
.zephyr-nrf52840dk-nrf52840:
extends: .build-zephyr
extends: .build-zephyr
variables:
variables:
MACHINE: nrf52840dk-nrf52840
MACHINE: nrf52840dk-nrf52840
 
zephyr-nrf52840dk-nrf52840-gcc:
 
extends: [.zephyr-nrf52840dk-nrf52840, .toolchain-gcc]
 
zephyr-nrf52840dk-nrf52840-clang:
 
extends: [.zephyr-nrf52840dk-nrf52840, .toolchain-clang, .broken]
zephyr-arduino-nano-33-ble:
.zephyr-arduino-nano-33-ble:
extends: .build-zephyr
extends: .build-zephyr
variables:
variables:
MACHINE: arduino-nano-33-ble
MACHINE: arduino-nano-33-ble
 
zephyr-arduino-nano-33-ble-gcc:
 
extends: [.zephyr-arduino-nano-33-ble, .toolchain-gcc]
 
zephyr-arduino-nano-33-ble-clang:
 
extends: [.zephyr-arduino-nano-33-ble, .toolchain-clang, .broken]
freertos-armv5:
.freertos-armv5:
extends: .build-freertos
extends: .build-freertos
variables:
variables:
MACHINE: qemuarmv5
MACHINE: qemuarmv5
# See the note on linux-qemu-x86.
# See the note on linux-qemu-x86.
CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
 
freertos-armv5-gcc:
 
extends: [.freertos-armv5, .toolchain-gcc]
 
freertos-armv5-clang:
 
extends: [.freertos-armv5, .toolchain-clang, .broken]
Loading