ci: split machine coverage in tiers

Full builds of 16 machines run serially on one runner and take 5-17h per PR.
Most of them share tune, defconfig and DTBs with another machine.

Build rpi-test-image only for raspberrypi0-wifi, raspberrypi-armv7,
raspberrypi-armv8, raspberrypi3-64, raspberrypi4-64 and raspberrypi5, which
together cover every tune, defconfig and kernel recipe.

Run yocto-check-layer with every machine in conf/machine. Its BSP machine
tests were skipped until now as no machines were passed. The machines are
listed from the layer, so new ones are checked without workflow changes.

Also trigger yocto-layer.yml on changes to itself.

Fixes #1633

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This commit is contained in:
Andrei Gherzan committed 2026-10-19 04:47:41 +01:00
1 parent d61f81830d
commit c29bfe6e74
3 files changed
+20 -14

No files matched your search

@@ -30,5 +30,18 @@ done
# shellcheck disable=SC1091,SC2240
. ./openembedded-core/oe-init-build-env build
# Build configuration
printf "\n# ------ ci ------\n" >> conf/local.conf
cat <<EOCONF >>conf/local.conf
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
EOCONF
MACHINES="$(find "$GIT_REPO_PATH/conf/machine" -maxdepth 1 -name '*.conf' \
-exec basename {} .conf \; | sort)"
[ -n "$MACHINES" ] ||
error "No machines found under $GIT_REPO_PATH/conf/machine ."
# shellcheck disable=SC2086
yocto-check-layer --with-software-layer-signature-check --debug \
"$GIT_REPO_PATH"
"$GIT_REPO_PATH" --machines $MACHINES
+5 -13
View File
@@ -14,23 +14,15 @@ jobs:
strategy:
fail-fast: true
matrix:
# Tier 1: one machine per tune / kernel defconfig. All machines are
# signature checked by yocto-check-layer in yocto-layer.yml.
machine:
- raspberrypi
- raspberrypi0-2w-64
- raspberrypi0-2w
- raspberrypi0
- raspberrypi0-wifi
- raspberrypi2-64
- raspberrypi2
- raspberrypi3-64
- raspberrypi3
- raspberrypi4-64
- raspberrypi4
- raspberrypi5
- raspberrypi-cm3
- raspberrypi-cm
- raspberrypi-armv7
- raspberrypi-armv8
- raspberrypi3-64
- raspberrypi4-64
- raspberrypi5
image: [rpi-test-image]
distro: [poky]
runs-on: [self-hosted, Linux]
+1
View File
@@ -27,6 +27,7 @@ jobs:
.github/workflows/docker-images/yocto-builder/**
.github/workflows/docker-images/*.sh
.github/workflows/yocto-builds.yml
.github/workflows/yocto-layer.yml
classes/**
conf/**
dynamic-layers/**