Skip to content
Snippets Groups Projects
Commit b57c5d9c authored by Zygmunt Krynicki's avatar Zygmunt Krynicki
Browse files

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


Existing unqualified jobs rely on defaults. Qualified jobs explicitly
configure either clang or gcc and use the appropriate suffix. Qualified
jobs inhabit two new lanes: build-gcc and build-clang, to visually break
from the already long column of "build" jobs.

Signed-off-by: default avatarZygmunt Krynicki <zygmunt.krynicki@huawei.com>
parent a3572d8c
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,8 @@
stages:
- compliance
- build
- build-gcc
- build-clang
- update
- test
- report
......@@ -108,7 +110,7 @@ bundle-qemu-x86:
extends: .build-rauc-bundle
stage: update
# Depend on the build job to prevent repeating build failures.
needs: [linux-qemu-x86]
needs: [linux-qemu-x86-gcc]
variables:
MACHINE: qemux86
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -119,7 +121,7 @@ bundle-qemu-x86_64:
extends: .build-rauc-bundle
stage: update
# Depend on the build job to prevent repeating build failures.
needs: [linux-qemu-x86_64]
needs: [linux-qemu-x86_64-gcc]
variables:
MACHINE: qemux86-64
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -130,7 +132,7 @@ bundle-raspberrypi4-64:
extends: .build-rauc-bundle
stage: update
# Depend on the build job to prevent repeating build failures.
needs: [linux-raspberrypi4-64]
needs: [linux-raspberrypi4-64-gcc]
variables:
MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -141,7 +143,7 @@ bundle-seco-intel-b68:
extends: .build-rauc-bundle
stage: update
# Depend on the build job to prevent repeating build failures.
needs: [linux-seco-intel-b68]
needs: [linux-seco-intel-b68-gcc]
variables:
MACHINE: seco-intel-b68
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -215,12 +217,12 @@ publish-seco-intel-b68:
## Submit jobs to LAVA
##
lava-qemu-x86:
needs: [linux-qemu-x86]
needs: [linux-qemu-x86-gcc]
stage: test
extends: .lava-test
variables:
MACHINE: qemux86
CI_BUILD_JOB_NAME: linux-qemu-x86
CI_BUILD_JOB_NAME: linux-qemu-x86-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-x86.yaml"
CI_REPORT_JOB_NAME: lava-report
......@@ -265,12 +267,12 @@ lava-seco-c61:
CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86-ltp:
needs: [linux-qemu-x86]
needs: [linux-qemu-x86-gcc]
stage: test
extends: .lava-test
variables:
MACHINE: qemux86
CI_BUILD_JOB_NAME: linux-qemu-x86
CI_BUILD_JOB_NAME: linux-qemu-x86-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-x86-ltp.yaml"
CI_REPORT_JOB_NAME: lava-report
......@@ -355,12 +357,12 @@ lava-zephyr-96b-nitrogen-twister:
CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86-perf:
needs: [linux-qemu-x86]
needs: [linux-qemu-x86-gcc]
stage: test
extends: .lava-test
variables:
MACHINE: qemux86
CI_BUILD_JOB_NAME: linux-qemu-x86
CI_BUILD_JOB_NAME: linux-qemu-x86-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-x86-perf.yaml"
CI_REPORT_JOB_NAME: lava-report
......
......@@ -6,7 +6,30 @@
# 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"
rules:
# Clang builds will most often than not 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
variables:
MACHINE: qemux86
......@@ -20,8 +43,12 @@ linux-qemu-x86:
# tainted build intermediate files, downloads or published artifacts.
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
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
variables:
MACHINE: qemux86-64
......@@ -31,30 +58,46 @@ linux-qemu-x86_64:
CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
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
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
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
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BITBAKE_TARGETS: oniro-image-extra-tests
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
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
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]
linux-seco-imx8mm-c61-4gb:
.linux-seco-imx8mm-c61-4gb:
extends: .build-wic-image
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -64,8 +107,12 @@ linux-seco-imx8mm-c61-4gb:
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1
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]
linux-seco-imx8mm-c61-4gb-extra:
.linux-seco-imx8mm-c61-4gb-extra:
extends: .build-linux
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -74,13 +121,21 @@ linux-seco-imx8mm-c61-4gb-extra:
# 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
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]
linux-raspberrypi4-64:
.linux-raspberrypi4-64:
extends: .build-wic-image
variables:
MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux
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:
extends: .build-zephyr-image
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment