Commit Graph
17 Commits
Author SHA1 Message Date
Andrei Gherzan ae6dc3faee ci: mark the layer checkout safe for git in yocto-check-layer
The checkout is owned by the runner user while the container runs as ci, so
git refuses to read /work. Mark it as a safe directory, as the DCO check
already does.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2026-10-19 04:47:51 +01:00
Andrei Gherzan bac21e1933 ci: silence dpkg progress output in yocto-builder
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2026-10-19 04:47:50 +01:00
Andrei Gherzan 651a6a21ed ci: persist the hash equivalence database
BB_HASHSERVE defaults to "auto", which stores hashserv.db in the build
directory. CI builds in a temporary build directory, so the database was
discarded after every job and equivalent outputs from previous builds were
never matched.

Store it in SSTATE_DIR, next to the artifacts it references. This also aligns
to bitbake-setup default behaviour.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2026-10-19 04:47:46 +01:00
Andrei Gherzan c29bfe6e74 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>
2026-10-19 04:47:41 +01:00
Andrei Gherzan 9bd4f13a78 ci: switch yocto-builder Dockerfile to Ubuntu 26.04
pseudo on oe-core master now wraps open_tree_attr(), which needs
struct mount_attr from the system headers. Ubuntu 22.04 (glibc 2.35)
doesn't provide it, so pseudo-native fails to build:

  error: conflicting types for 'real_open_tree_attr'

Move the builder to Ubuntu 26.04.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2026-10-18 16:11:03 +01:00
Khem Raj b837662911 ci: Switch to using https for fetching OE/YP git repos
git protocol is broken, and anyway https is preferred way to clone from
these git sources.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-10 19:29:28 -07:00
Martin Jansa 9720dc611c yocto-builder/entrypoint-build.sh: Remove init configuration
The init configuration is usually taken care of by setting INIT_MANAGER
and systemd is the default since:
https://git.openembedded.org/openembedded-core/commit/?id=0b4061c5d50261f826d0edb4b478d2d305274b7c

so none of this should be needed, hopefully it will fix CI runs which currently fail with:
https://github.com/agherzan/meta-raspberrypi/actions/runs/23234236947/job/67698405693

ERROR: Nothing PROVIDES 'systemd' (but /tmp/tmp.aSbUL7oQb7/openembedded-core/meta/recipes-core/psplash/psplash_git.bb DEPENDS on or otherwise requires it)
systemd was skipped: conflicting distro feature 'sysvinit' (in DISTRO_FEATURES)
NOTE: Runtime target 'psplash' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['psplash', 'systemd']
ERROR: Required build target 'rpi-test-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['rpi-test-image', 'psplash', 'systemd']

Summary: There was 1 WARNING message.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

But I don't see where sysvinit would be getting into DISTRO_FEATURES here.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2026-03-20 00:08:27 -07:00
Leon Anavi 7439575078 yocto-builder/entrypoint-yocto-check-layer.sh: Replace Poky
Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake and openembedded-core. This fixes the GitHub workflow
with branch master of meta-raspberrypi for yocto-check-layer test.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-11-20 14:09:11 +00:00
Leon Anavi 9806b9981a yocto-builder/entrypoint-build.sh: Replace Poky
Following the recent major breaking change with the introduction of
bitbake-setup because of which the Poky repository master branch is
no longer being updated, the Poky git repository has to be replaced
by bitbake, openembedded-core and meta-yocto which provides layers
meta-poky and meta-yocto-bsp. This fixes the GitHub workflows with
branch master of meta-raspberrypi and allows running auto checks.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-11-20 14:09:11 +00:00
Martin Jansa 03981f9365 docker-build: use --no-cache
* --no-cache is needed to actually call apt update instead of using it
  from docker cache and then failing to fetch pruned packages as shown:
  https://github.com/agherzan/meta-raspberrypi/actions/runs/16327036376/job/46119768952?pr=1491

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-17 08:28:56 -07:00
Leon Anavi 48c571a537 Dockerfile: Increase vm.max_map_count
Fix the resource exhaustion problem on the build infrastructure.

Suggested-by: Stu Westerman @stu-spp
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Leon Anavi 54ed1f7c65 yocto-builder/Dockerfile: Ubuntu 22.04
Upgrade to Ubuntu 22.04 because it is compatible with the Yocto
Project release Walnascar and provides a newer Python version.

Fixes:

RuntimeError: Sorry, python 3.9.0 or later is required for this version of bitbake

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2025-05-09 08:35:55 -07:00
Andrei Gherzan a7f7272dca ci: Add usrmerge to distro features
unmerged-usr was deprecated upstream[1]. Follow up with our CI builds.

[1] https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2023-08-29 22:43:01 +01:00
Andrei Gherzan de9bfd04d5 ci: Fix dco-check job with newer git versions
Due to https://nvd.nist.gov/vuln/detail/cve-2022-24765, git introduced a
feature where without explicitly allowing it, it won't parse or consider
hooks that are owned by another git user while erroring out with:

  fatal: detected dubious ownership in repository at [...]

This won't be an issue in our setup due to how we guard the code via PRs
so we configure git to avoid this check.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2022-11-08 08:21:47 +00:00
Andrei Gherzan 0ffe5110ec ci: Set LICENSE_FLAGS_ACCEPTED in builder docker container
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-07-31 02:16:37 +01:00
Andrei Gherzan 218635ea9e ci: Introduce workflow Yocto operations/builds
We include a workflow for checking yocto compliance using the poky
provided script and also a matrix workflow for building the CI supported
build configurations.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00
Andrei Gherzan 637393827d ci: Introduce workflow for compliance
It includes jobs for checking DCO and reuse. The latter is set to allow
fails as the repository is not yet reuse compliant. When that is done,
we can switch it.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-02-19 09:27:59 +00:00