From patchwork Mon Dec 22 16:28:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 77145 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28FBAE677F3 for ; Mon, 22 Dec 2025 16:28:43 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.83505.1766420915741243211 for ; Mon, 22 Dec 2025 08:28:37 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=Em+d4QEz; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 33F654E41D35 for ; Mon, 22 Dec 2025 16:28:34 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 0ADE5606C1 for ; Mon, 22 Dec 2025 16:28:34 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 538A410AB045B; Mon, 22 Dec 2025 17:28:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1766420913; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=FuBOATK1GXWUQ4uUZGvu8NtAZfO09S3v323fEN/GZK0=; b=Em+d4QEzB+7v/AoaTTGS3vSLkRJm7gzkdB5I+bAS3k5gJXI+58gPd3Bj0XQj0TgcEcFlz1 3Rdw7I63KIq6azkjP1mpAhtmYvnNE33IsQRXdRf2PsItv2wJjgKn/YwWUdL2ujQ0GKAZhN F6WIXkNig30lTPjIwIJsvWAoxxUmjBt2/7Ac1XX3NW9vZ93rG0QY9nfItRONNBMCmSIsMi GpgMGnGYZeFM4LJM7DSk9ljF5Na5mW5RN32TaP09ZEImLvZDI9OBaIdX3KEivaGExF/xD+ D6Vu02fJwxV6kyCjrNo50PTUwnr+5HDrAnnZ+aq/VICCxRDZl0aD/KpldwbV5w== From: Mathieu Dubois-Briand Date: Mon, 22 Dec 2025 17:28:13 +0100 Subject: [PATCH yocto-autobuilder2 1/3] docker: Fix QEMU on yocto-worker docker MIME-Version: 1.0 Message-Id: <20251222-mathieu-fix-ptest-urls-v1-1-4153fdb174a8@bootlin.com> References: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> In-Reply-To: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766420910; l=1841; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=/8aZauBAbT8OKwHaQjBWnb7d/R08i0KPMpCIcX6KhmA=; b=ug4P05Q5uhbuHryS+JR0WzxxqlbDf5mD7mj0LRLdxwgLJS9cUnxGGYWsNQKCetWePmzwmtSex jelOXhqKFKFC1dnUBLvNGlSaNnkgdH+iqOBFwfIRR+FvhHh3cx08uUq X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 22 Dec 2025 16:28:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2846 Signed-off-by: Mathieu Dubois-Briand --- docker/Dockerfile | 4 ++++ docker/compose.yaml | 9 +++++++++ docker/entry.sh | 2 ++ 3 files changed, 15 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index b1df86022520..d291bce9a48c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -21,6 +21,7 @@ RUN apt update && \ git \ iproute2 \ iputils-ping \ + iptables \ libacl1 \ libcairo2 \ liblz4-tool \ @@ -33,6 +34,7 @@ RUN apt update && \ python3-pip \ python3-subunit \ socat \ + sudo \ texinfo \ unzip \ virtualenv \ @@ -45,6 +47,8 @@ ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 +RUN echo "pokybuild ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/pokybuild + RUN npm install -g yarn RUN pip3 install --break-system-packages \ diff --git a/docker/compose.yaml b/docker/compose.yaml index 334e13720b3b..23d09f4fe52c 100644 --- a/docker/compose.yaml +++ b/docker/compose.yaml @@ -27,6 +27,15 @@ services: command: worker cpus: 8 mem_limit: 16gb + devices: + - /dev/net/tun:/dev/net/tun:rwm + - /dev/kvm:/dev/kvm:rwm + cap_add: + - NET_ADMIN + - SYS_ADMIN + security_opt: + - systempaths=unconfined + - apparmor=unconfined extraworker: <<: *base-worker command: extraworker diff --git a/docker/entry.sh b/docker/entry.sh index 900e4b9b229f..fe4c4b5def25 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -1,5 +1,7 @@ #!/bin/sh +chmod 666 /dev/kvm + chown pokybuild:nogroup /sharedrepo chown pokybuild:nogroup /publish chown pokybuild:nogroup /home/pokybuild/git/mirror From patchwork Mon Dec 22 16:28:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 77144 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27272E677F2 for ; Mon, 22 Dec 2025 16:28:43 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.83507.1766420920066453723 for ; Mon, 22 Dec 2025 08:28:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=dGh+A7SI; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 8857A4E41D34 for ; Mon, 22 Dec 2025 16:28:38 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 60BC0606C1 for ; Mon, 22 Dec 2025 16:28:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E8ACA10AB03F7; Mon, 22 Dec 2025 17:28:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1766420914; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=ri9YOOFN9emg13ayGPb8o/c3Jm6q66AG3Q8ay1MoMTI=; b=dGh+A7SI1Z38r3krWedUlzFAKGgJj0CWD5MTbnUubxWA3ZiNoCZiAD6C2A1ZbbLI2GW4ey PHqRRavNKmdNUvODIWT48vDx/EmusxXJqQcIEPW+BDhYbqd8x1CZtygOIjAOZp1KYGz0ev 2VRJxfwLdbbS8Ycp8mtb4ifMW6xB0U8YmvHyrATB3eUKBKYv/rejiMpUvROOfKUqcANu6s tL4GmgIeef/fiuq45lYCHKD0zi7V+ZxhPwTqENR5bkleh+B3keO7uTapa5owmIMdpXqnYS JLHP7YAOceZzCNfXERWNQ30mvEeeD2Ee+ffmLfrbQb2VpKoF/2ygw6UFxjMF/A== From: Mathieu Dubois-Briand Date: Mon, 22 Dec 2025 17:28:14 +0100 Subject: [PATCH yocto-autobuilder2 2/3] docker: do not change shared and publish directory MIME-Version: 1.0 Message-Id: <20251222-mathieu-fix-ptest-urls-v1-2-4153fdb174a8@bootlin.com> References: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> In-Reply-To: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766420910; l=2291; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=PxO9LUbMlMcfj+duf1TEFhpXO45c/xjRzUL/x+vzW70=; b=VW/hgJAGkZbc+Y1J3uVHbhvxxJCX5XvM7ENiJcgWIBNnw9zFZxhfEwquH9mC37dgmoNQZz9Jx uX3lQw/k58pBkTnF8C3ZuKF9BMaxqunP68rBsagfyJf54IBM8QAlQOt X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 22 Dec 2025 16:28:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2848 We need to use the same public directory name as on the public instance, so the log observers can match lines about yocto.io folders. --- docker/Dockerfile | 5 +---- docker/compose.yaml | 2 -- docker/entry.sh | 4 ++-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index d291bce9a48c..3d6be54b0e47 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -110,14 +110,11 @@ RUN sed -i \ -e "/^all_workers *=/s/workers_bringup + //" \ # Switch from ssh:// URLS to git:// so we do not need any auth \ -e "s#ssh://git@push\.\(yoctoproject.org\|openembedded.org\)/#git://git.\1/#" \ - # Change location of sharedrepodir and publish_dest directories \ - -e "s@^\(sharedrepodir *= *\).*@\1\"/sharedrepo\"@" \ - -e "s@^\(publish_dest *= *\).*@\1\"/publish\"@" \ # Use any worker for any release \ -e '$ a workers_prev_releases = {}' \ /home/pokybuild/yocto-controller/yoctoabb/config.py && \ sed -i \ - # Change location of sharedrepodir and publish_dest directories \ + # Use git protocol instead of ssh -e "s#ssh://git@push\.\(yoctoproject.org\|openembedded.org\)/#git://git.\1/#" \ /home/pokybuild/yocto-autobuilder-helper/config.json && \ sed -i \ diff --git a/docker/compose.yaml b/docker/compose.yaml index 23d09f4fe52c..97ea724b968f 100644 --- a/docker/compose.yaml +++ b/docker/compose.yaml @@ -8,8 +8,6 @@ x-base-service: &base-service context: .. dockerfile: docker/Dockerfile volumes: - - sharedrepo:/sharedrepo - - publish:/publish - mirror:/home/pokybuild/git/mirror - srvautobuilder:/srv/autobuilder stdin_open: true diff --git a/docker/entry.sh b/docker/entry.sh index fe4c4b5def25..125f447be4f2 100644 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -2,8 +2,8 @@ chmod 666 /dev/kvm -chown pokybuild:nogroup /sharedrepo -chown pokybuild:nogroup /publish +chown pokybuild:nogroup /srv/autobuilder/repos +chown pokybuild:nogroup /srv/autobuilder/autobuilder.yocto.io/pub chown pokybuild:nogroup /home/pokybuild/git/mirror chown pokybuild:nogroup /srv/autobuilder cd /home/pokybuild/ || exit 1 From patchwork Mon Dec 22 16:28:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 77143 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25E5CE677EA for ; Mon, 22 Dec 2025 16:28:43 +0000 (UTC) Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.83577.1766420920595867427 for ; Mon, 22 Dec 2025 08:28:41 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=ptrVSdEI; spf=pass (domain: bootlin.com, ip: 185.246.85.4, mailfrom: mathieu.dubois-briand@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 0E2344E41D35 for ; Mon, 22 Dec 2025 16:28:39 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id D9F26606C1 for ; Mon, 22 Dec 2025 16:28:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 45E7610AB0089; Mon, 22 Dec 2025 17:28:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1766420918; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=9NH2iwHMisUI9PZxEp0tkpsOC/rZICjz+rN/Bj+PN+8=; b=ptrVSdEITJPOvQjD+E9xn2QtjcWN6JzQupq3h18Lp5pJSPG8wiJeF7913gEtsBsagGxnRw Tlx4Qs7jO1PcdaSrbvgL75UzYRrHi0E1nNH1GDqqoExLM/sCoDoXeRws2yBqWPkjWPVp6P H+m4Tc4/a+jr0GJudiP/aXvjjpFIZjTeIfFgejygZF9mJQGiQraMq3U+9S0S6EXsgmQYys AT12liDhhZAYCvx80sjFKinZV/rl1aVPGrqVilI+S4Ek0QUEV5ZPTXNOJZNTc2sGAYwNuV yTNrBSs53FFCNJVtAA2Za+KDNlfpUef4dKbvQrq0Km2kpDoIpylka2YFc1cCdQ== From: Mathieu Dubois-Briand Date: Mon, 22 Dec 2025 17:28:15 +0100 Subject: [PATCH yocto-autobuilder2 3/3] observer: Fix builder name detection MIME-Version: 1.0 Message-Id: <20251222-mathieu-fix-ptest-urls-v1-3-4153fdb174a8@bootlin.com> References: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> In-Reply-To: <20251222-mathieu-fix-ptest-urls-v1-0-4153fdb174a8@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766420910; l=1701; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=Q1gQLNJtVJZmfj7SsdDuReXL5Q2wk4zgRdDKgnLd0p8=; b=LOp/RRykxtRkGtf48SWngeZ8bfCGllGRI1uk5t2FPvl/Aq28A6+1R26+0JkHMzs4L5Hgz0n4Q ITNL4gv2YRDApgzv4/SgI7b5SIEk/Ck8xVp4c5AVFjt9DNXxViimfSW X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 22 Dec 2025 16:28:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2849 Builder name is needed in order to generate correct ptest result links. Previous code tries to extract it from the first log lines, but these lines do not go through the log observer: match somewhere else in the log instead. Signed-off-by: Mathieu Dubois-Briand --- steps/observer.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/steps/observer.py b/steps/observer.py index 7231d29c33ea..7187d1ad5108 100644 --- a/steps/observer.py +++ b/steps/observer.py @@ -42,6 +42,7 @@ class SimpleLogObserver(ShellCommand): self.addLogObserver('stdio', logobserver.LineConsumerLogObserver(partial(self.logConsumer, 'stdio'))) self.yocto_io_re = re.compile(".*/([^/]*yocto.io/pub/(non-release|repro-fail[^/]*/)([^ ']|$)+).*") self.ptest_fails_re = re.compile(r"WARNING: (\S*)-[0-9.]*-r[0-9]* do_testimage:") + self.builder_re = re.compile(r"Target task (\S*) has \S* steps") def describe(self, done=False): return self.description @@ -58,8 +59,10 @@ class SimpleLogObserver(ShellCommand): if line.startswith("ERROR:"): self.errorCount += 1 self.errorLines.append(logname + ": " + line) - if line.startswith("Builder:"): - self.builder = line.split(':')[1].strip() + if not self.builder: + match = self.builder_re.match(line) + if match: + self.builder = match.group(1) url, matched = self.yocto_io_re.subn('https://\\1', line.strip()) if matched: self.links.append(url)