From patchwork Wed Aug 6 15:43:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68154 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 653EFC87FDA for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web10.28544.1754495066111874014 for ; Wed, 06 Aug 2025 08:44:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=QbRhMMdz; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 3B10C44333; Wed, 6 Aug 2025 15:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WrUquybbHA24k6TmaT0MjyneIYRyXFFztkcOKf4kRdE=; b=QbRhMMdzH7mOF5cTl7G6rYCc0oq/EnAuhEgTbIbjbTsTURwj5A95XtFB15M02seRIepoEl QjnJLnKrul9+l+0EjY6+kgXgsqxRJOm1rF8gLSby7b4ubvOur8UZnfcmGFlP4noAmxaq7B 8eaxs4sdFYTxAdCpxobY4Ci575BXmWj3lQKVa0Mfjn1cjVzn8c2HRbSoM2ZF7SN2GOufTM YdXyj+ToDJEC2BptyE2mB+4kaLlgmWsUmaIwE9IJ/V90gFmC7Cfu2+edTskHHZy24oJ+KM 01uw+lcHMZv3qkcQHnxewr3nQsO7KTsjWFN5/m6ARmoRuxMl5oGeaL7WlkG8tg== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:31 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 1/7] scripts/yocto-supported-distros: check worker status on AB API MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-1-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=3562; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=HvGZ41AqMr/tc/rfTDCs2GjNtW0KkPLQ41/Z/XFgDt0=; b=kA0DAAoB0YBBQCmjqDYByyZiAGiTeFaigmUWl9By2/2q0IsBPWfGwwvioqqkfRLvjLvJ50Y9u IkCMwQAAQoAHRYhBIZIclGI3UAbuaDT/9GAQUApo6g2BQJok3hWAAoJENGAQUApo6g2MxcP/3mW BmdpgISc0rwVdaK/Soic9j50cxAy0hk89OY26qZJPVXd6Is2DUWUT1HqmQ5k/KifTaOc+LQAcTN BcSQex59Q/lbuDQs/qIufK9MBiEffMX5WlMBsMloScSJQuDeBuoPWJ6oZNtqYqeEOVvuI9xpu6y KG3BpH8Miie7y3GRQRJwjK1QoQJpq+zCgVa6XJPRqHISyZlfMGxBMoSlKex/2T865ExNERFOnmd C0jEfnfDjF4vArF9RDsDwh9yF4LaZYnT4/f/GkHgMmb3eBPE0MjtpTZgLo6KhyJBlAJdrrc9Q0G WdeokIoMf4hOmY/ZuUP8Ryce8DYtflQ7OGJuQd7d2g57/Kb/B2pa+cSO3JYLoxpbRMZvKs6IAX9 mZKTdeCDkTKkTV9ejKcHQWhK0uAEF9+xg4XYIzBsqcEyZ+x4TM/A/Xwv6OjqF59uEkU5j0+IH2x 2FZ3zvKcAASz8kf6fWefttxh96uvORJkduKoSaAr1t7CFiAdnWZjTRydv+lvHTqsKNbaWCFngM8 EIARKdmZmDorecnFiscx8yb0ENIKzmO306D/poeuLO/G2HwRqphG+N0he6lBWYSzwTUUvB1AkB6 7XVd9AfOctFDBwb9Mi7ue2VwcJ1C5dGyuIRpIxASF+h3sHNdFDNV7QyDJnRJagJoTNYZOgr2Fj4 o3Dhp X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeekgffhkeejudffvedvleeuudeuheefffelgffgvdegjeekieehhfelfedtgfffgfenucffohhmrghinhephihotghtohhprhhojhgvtghtrdhorhhgpdgtohhnfhhighdrphihnecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtledphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeefpdhrtghpthhtoheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhts hdrhihotghtohhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhm X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1890 Add a --check-worker-statuses flag to also check the workers statuses on the Autobuilder, and filter out any worker that is currently disconnected. This should help maintaining the config.py file in the Autobuilder. This is relevant for the master branch here as we do not need to maintain poky.conf as strictly on stable branches. This should warn the following on master, at the time of writing: WARNING: Missing on the autobuilder but listed in poky.conf: ubuntu-20.04 Meaning ubuntu-20.04 should be removed from poky.conf on meta-poky's master. Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index 172a186..81f881f 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -39,6 +39,7 @@ # from a custom branch. import argparse +import json import os import re import urllib.request @@ -52,6 +53,7 @@ from urllib.error import HTTPError CONFIG_REMOTE_URL = "https://git.yoctoproject.org/yocto-autobuilder2/plain/config.py" +AUTOBUILDER_WORKERS_ENDPOINT = "https://autobuilder.yoctoproject.org/valkyrie/api/v2/workers" def parse_arguments() -> argparse.Namespace: @@ -80,6 +82,11 @@ def parse_arguments() -> argparse.Namespace: action="store_true", help="Get config.py from yoctoproject's git web interface") + parser.add_argument("--check-worker-statuses", + action="store_true", + default=False, + help="Also check the worker statuses using the Autobuilder API") + return parser.parse_args() @@ -242,6 +249,40 @@ def _compare(ab_workers: set, poky_workers: set, stable_release: bool): return ok +def _filter_inactive_workers(possible_workers: Dict) -> Dict: + """ + From the current dictionary of workers, remove the workers that are inactive + (disconnected) by checking the Autobuilder REST API. + """ + + _possible_workers = {} + workers_ab = None + + try: + with urllib.request.urlopen(AUTOBUILDER_WORKERS_ENDPOINT) as r: + workers_ab = json.load(r).get("workers") + except (HTTPError, AttributeError) as e: + print(f"WARNING: Error when trying to fetch the worker statuses from {AUTOBUILDER_WORKERS_ENDPOINT}:") + print(e) + print("Safely exiting...") + exit(0) + + if not workers_ab: + return possible_workers + + def is_connected(worker): + for w_info in workers_ab: + if w_info.get("name") == worker and w_info.get("connected_to"): + return True + + return False + + for release in possible_workers: + _possible_workers[release] = [w for w in possible_workers[release] if is_connected(w)] + + return _possible_workers + + def main(): args = parse_arguments() @@ -305,6 +346,9 @@ def main(): {release: _possible_workers(config.workers_prev_releases[release], config.all_workers)}) + if args.check_worker_statuses: + possible_workers = _filter_inactive_workers(possible_workers) + if args.compare: assert len(releases) == 1, "Only one release should be passed for this mode" release = releases[0] From patchwork Wed Aug 6 15:43:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68155 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 7B496CA0EC1 for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web10.28545.1754495066279750866 for ; Wed, 06 Aug 2025 08:44:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=lfe0/4tN; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 6F43E44339; Wed, 6 Aug 2025 15:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Pbn6VKCuGWXsUX7XeqSwSLmrNp6jMsXbTUC9eiwjJyE=; b=lfe0/4tNftTyETuBoKiKR1nIKg0nBKbzDMLGjeilQIRwHi4sQfw4h2SdABN9dZB3MSYoO5 +wTH1XofRC8UaORZr+4i0CUikhcxcnbCj465DQ5XSE+UotayZ38T1ScSVXQ7acz+YW/xQX sj9gZ7sxIWu/TQQD1F0YOgNwe3l840LJTKI6/xPaOQK/rABbWAxZa85+4YKDmLd0E14hCo VhX6hcNgdZqFGJSEiurDWXYeq9J3bgqBe+eL8yJlEy/Yj1FbaYMkQ6bpNWCJT9Q2SELziQ MASALaRP4iuob9g9LhSjGv3K00kKDOg28BbYmdwu4wOJQBopHqvSRGGY33X9+Q== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:32 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 2/7] config.json: yocto-supported-distros: use --check-worker-statuses MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-2-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=866; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=ffxx7FO1xCikDkuFSJ8Zy8mpXveI5ojIMmTLK6EGl3U=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hW2ClfObrZS4s6p2ufzg4TOca5hcjqR9MUS gVbMrsC7KqJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VgAKCRDRgEFAKaOo NpAzD/99iqBlJMbrwz8CEA3tHA1RRkIvww1K7wpGyQUixoyRse0dNEdqwsDMEpmvTy6uzZf0aWV G/B9o2MIolgINcZAh2WkfVi+KhKjny7u0Ryf5mE+B29yPmqsu7pWrdCloLIUtA4CvyGCuwknUOz /T/wtbjupgXTIvCdGYz/0T7FXsrMNYEgRMqpdybbfGH1gMs9LCvVTEv4dJUnMDj1vJn7SRGd4wQ ON/UOCC/mski90vCjtUkMUBgwUplv+iP7sQBEzxmGL4i3PIy57umjvp/caWhEfd45vz+jH/Zg8e p/nTtl4GyUaOICKfQOfv0rZayoG3xkqWYibxCX4zvzr76bemnHdgeiysLrtmY6Txpyu3ktwZKEy MABEm5/FDrFDzOFmlrKWavaUoOWV6MppNan95Asz/Q/Z/gDDmbf+xIZbzjK8m0h3lX5SMbGG8A0 wdWyrrnm+8LHYP+P0+dc2a5fkvtIZ+kj0eXOxIZuZyY7cfdv57FsmfpJZfByeyVNa2IwxPdFXsQ 8MkfvZBKd5xearg+9U/Iu/KQWeQ+I9I5qfjzcy7B0nGLBHUk+cq8OnWf94+pEl9rEfd65wohbhb byLH4wa+5946UhVwd4QnwTJSStUbtzTx7GRutdZ03/vUlHe+eWfyRx+Om+m6teefoJCAkLEMduZ DQ+WEQsqtKHZlqg== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeehieeguefhfeegheffgfeuieetheeileefheejkeetgfekueehueeluddvlefghfenucfkphepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelpdhhvghloheplgduvdejrddtrddurddungdpmhgrihhlfhhrohhmpegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdprhgtphhtthhopeihohgtthhoqdhprghttghhvghssehlihhsthhsrdihohgtthhophhrohhjvggtthdrohhrghdprhgtphhtthhopehthhhomhgrshdrphgvt hgriiiiohhnihessghoohhtlhhinhdrtghomh X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1892 Use the new --check-worker-statuses option. This only makes sense for master. Signed-off-by: Antonin Godard --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 171e885..16ff72f 100644 --- a/config.json +++ b/config.json @@ -470,7 +470,7 @@ "step2" : { "removevars" : ["SANITY_TESTED_DISTROS"], "shortname" : "Compare AB workers and SANITY_TESTED_DISTROS", - "EXTRACMDS" : ["${SCRIPTSDIR}/yocto-supported-distros --config-from-web --release-from-env --compare"] + "EXTRACMDS" : ["${SCRIPTSDIR}/yocto-supported-distros --config-from-web --release-from-env --compare --check-worker-statuses"] } }, "trigger-build-posttrigger" : { From patchwork Wed Aug 6 15:43:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68153 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 64255C87FCB for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web11.28761.1754495066251137814 for ; Wed, 06 Aug 2025 08:44:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=WVz8MU2Y; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id A007E4433A; Wed, 6 Aug 2025 15:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TG3IftwyUQWy1rBMu7Djwx3wSmqQC4mOCbC6syZjT6E=; b=WVz8MU2YMa/y4nceuYvGjyejxNMCaRMml1pdxpkBdaJ/gjNGNEt/NGMk/QSLe14Lo7i8ib VD/ajYMeNlDZnOydLhNguQMyrDy44Y+t7+XQCPmyUnewNDCzEgCEtXRdaxfdngF3KHLfKx UEzD0kECk/GSCmEbfVHeTcAKMXPSpa7B0p4p+ggv5YCW+QKkOtjbZHA+Hn0xwRDwoP+5ir JrrpI+YYvPCwuiAYzfa9W6LGbdlVvkkAExP8e182mZUKjly8P9jnNaRTFh4FcOGq9Ck9dw k0YqrQR80WWEXPkX8nNACk3cyuAQlb8MbUBRikON6bixgSQU7NyNkCMBL2OcZQ== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:33 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 3/7] scripts/yocto-supported-distros: configure mutually exclusive argparse groups MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-3-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=2562; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=aqFIZ95HxqIktTXT/MAZkVRMHdDly2AMQarmSdC1BXY=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hWtQVLiOz46OJbw75iW1LpIDZYMWlW9EQB5 8F0Go7jzoKJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VgAKCRDRgEFAKaOo NtjOD/9aLJZr0eNlOIuQx5ZAXOLlHkyGIf35ot5aHsjJJHI7VKRMr4Ibrp9CFLO6J24eiJCJ8zR eSKP4VPlhyoH6R7AYFnfcjlOTs/enhz/sFwjG5OZRKNs5yj1FAaD+kop8COs9r1dQbVDcA1RcvF anxuMKeEXuxisyp4Ga7s1rmwwLScpF3u+CAfQRQA2GcYT+lf8z7wEEFvFc07+npHGSHITvJJSti azGNshfuKBB26YMp3KqaNclT0fviYWMxvG6UPT2npytIhkNQL5FfRcTtRvdnUkre2+fDRxtjXjy RV3J9P1Av/3w65KZr+YHOWwe4WDp73UZOStOliaR8HW/MKtCyDTf6DS7D+bZJUxsZQflSOPjs/R Zi0s2Ju6oWM9dc4MOBPdDM0mFK/YvpdcKMDOzBXPkgbxQDQ36rA+5RMRmu5elp2TzwpHWoCbob/ n+oF7Yme1TUhvMGp3qXhH4yD4R8WZUsJUhtnclsp9d05RyAIp9wek8hNK1OaujRxZ7qay1iDo1j EoHoafaUWU+JBSyZo1jGAbO1iQkKDQsFGqdfqcyKJ2rnwrw+Wz4SqkU2RAMCJ8vZmLzy9aE4trB yTfcmunoCF90akpfikO7Tp5Ft1qSEAqvg8xbweDFtbz1QER8Oowqd2SBSBiY/A7B6kMEKvsvtYr 51Tlfkjocy5WlVw== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeekuefhiefhgfdtheejvdelledvhfegfefhtdetuefhfffhvdeiudeuvddvteetgeenucffohhmrghinhephihotghtohhprhhojhgvtghtrdhorhhgnecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtledphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeefpdhrtghpthhtoheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhtshdrhihotghtohhprhhoj hgvtghtrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhm X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1891 Some options cannot be used with others. Make them mutually exclusive. Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index 81f881f..e259e1a 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -59,29 +59,33 @@ AUTOBUILDER_WORKERS_ENDPOINT = "https://autobuilder.yoctoproject.org/valkyrie/ap def parse_arguments() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Print supported distributions") - parser.add_argument("--releases", - type=str, - nargs='+', - default=[], - help="Yocto releases") - - parser.add_argument("--config", - type=Path, - default=None, - help="Autobuilder config.py input file") - - parser.add_argument("--release-from-env", - action="store_true", - help="Get the release codename from the bitbake environment") + g1 = parser.add_mutually_exclusive_group() + + g1.add_argument("--releases", + type=str, + nargs='+', + default=[], + help="Yocto releases") + + g1.add_argument("--release-from-env", + action="store_true", + help="Get the release codename from the bitbake environment") + + g2 = parser.add_mutually_exclusive_group() + + g2.add_argument("--config", + type=Path, + default=None, + help="Autobuilder config.py input file") + + g2.add_argument("--config-from-web", + action="store_true", + help="Get config.py from yoctoproject's git web interface") parser.add_argument("--compare", action="store_true", help="Compare to poky.conf releases") - parser.add_argument("--config-from-web", - action="store_true", - help="Get config.py from yoctoproject's git web interface") - parser.add_argument("--check-worker-statuses", action="store_true", default=False, From patchwork Wed Aug 6 15:43:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68159 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 91A7DC87FD3 for ; Wed, 6 Aug 2025 15:44:53 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web10.28547.1754495066355076414 for ; Wed, 06 Aug 2025 08:44:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=XdoJoth5; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id D5DB14433B; Wed, 6 Aug 2025 15:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nbuTYZW0ZAu1DInFjmfB4ng/cLRf9Uv+Tr/kXy1p3Tk=; b=XdoJoth5W+wCWPWjJ18wHbLrO3sKMXB+lXlyURzQV7xpuVIZQm+LB0LBnDahgJNuMN0/de AfxVaVvlKsrG0TP/6MyaRlkXXaEzJ6OAI9gBH2fzN17f1l2esCSmMb9r8QUYsrKrjb38kd P7LAg96/wt/I50mAvy8MLypienKbV1t8fYJ8krRgyATFjYmXSFYk/pzr+3/TtPhpM3Bl4F w0Te7KS4ONC/kIoC9cAprRN1Tk9zyYV/jrWlEVTXkmPsIrlIq5PXVy8zG562lL8LrU1IKu k5Gk+GyRjgQuK2TBMF6muE06u8Fw0iXy4kcDE19fuv0jHDT36auDH9vMi6bZ5Q== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:34 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 4/7] scripts/yocto-supported-distros: pass one release only MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-4-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=5797; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=vZC7GdCnfLKpv1c4IqIaWBFoAY07XaE3pEVxKduI3jU=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hWdj29OuQ2+1r/+d3brFQg1DwWc8tYefA2D B8mQ2FsjjiJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VgAKCRDRgEFAKaOo NtarD/wKpxydC2QWo4pbkN5HezF/B03cfp1usmLoFqpG21khksrGrKlP/1eYVndFRZCvnPTgvW/ N0DooofifFcoSenaTsZ4SVqdp6eD/DapdmlS0OhO/PU4vRjhP+4hrvheK5XFiabO1KX0qqYcOin BND4i0gSryvubUehXbqSiOtoI5SV7+dkBHqm2Fu4/m46i+t9+N5bMI4wv9CUn7tFmoepQfRt7x6 h72XQdd4Lt9WekZAP6iciE8UvaNrHaUiyXm62yO44MQrmt2nBN5Csp19Yip+DOEvKvkaWwQWa5g lhRKbd85i1Prn1o7cqlKFnFrk3Y9qO7jANBdHofxY2VFnr5sLXrZrtAaUlj1I3071oaehyd3Wqc yNQ9+c3y7bOgld4n0PStX0KUBha5PTL0WiBA7a7HLZZgYJuM3dmljBm9+8tTntkC+ZaEX3b191B twDLTjx7BcyuaESKULkj8C/98pK8EAIa7ycaX22TqqMXAPZWRpHKIxtm5CF9OT8QMIauP/NZkjI 0qerqqJf5C3E4lcOkWZIoRgMtY4l5Ll99wGP188xf/3QWnCF/wGcawuGAJuZXVqBNYQ/PzCEp3s LwIF0UEbdRqc43WxrqOCvXCUJvV7xrDgYBy0Jq06fpp8gpReuOvRdj3VpSjpel6jXCzZuJIHAgm aHDmf8osWZjQUDg== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeehieeguefhfeegheffgfeuieetheeileefheejkeetgfekueehueeluddvlefghfenucfkphepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelpdhhvghloheplgduvdejrddtrddurddungdpmhgrihhlfhhrohhmpegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdprhgtphhtthhopeihohgtthhoqdhprghttghhvghssehlihhsthhsrdihohgtthhophhrohhjvggtthdrohhrghdprhgtphhtthhopehthhhomhgrshdrphgvt hgriiiiohhnihessghoohhtlhhinhdrtghomh X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:53 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1894 Instead of supporting multiple releases passed to --releases just support one, as passing multiple releases makes the more complicated for little added value. Make it --release instead of --releases. This also makes the --release more symmetrical to --release-from-env. Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 76 ++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 46 deletions(-) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index e259e1a..f05788e 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -61,11 +61,9 @@ def parse_arguments() -> argparse.Namespace: g1 = parser.add_mutually_exclusive_group() - g1.add_argument("--releases", + g1.add_argument("--release", type=str, - nargs='+', - default=[], - help="Yocto releases") + help="Yocto release (master, walnascar, ...)") g1.add_argument("--release-from-env", action="store_true", @@ -127,14 +125,12 @@ def _print_worker_list_warning(worker_list: List, warning): print("WARNING: " + warning + ": " + w) -def _print_workers(possible_workers: Dict[str, List]): +def _print_workers(release: str, possible_workers: List[str]): """ Helper to print the workers nicely. """ - for release in possible_workers: - print(f"{release}:\n") - _print_worker_list(sorted(possible_workers[release])) - print("") + print(f"{release}:\n") + _print_worker_list(sorted(possible_workers)) def _get_poky_distros() -> Set[str]: @@ -253,14 +249,14 @@ def _compare(ab_workers: set, poky_workers: set, stable_release: bool): return ok -def _filter_inactive_workers(possible_workers: Dict) -> Dict: +def _filter_inactive_workers(possible_workers: List[str]) -> List[str]: """ - From the current dictionary of workers, remove the workers that are inactive + From the current list of workers, remove the workers that are inactive (disconnected) by checking the Autobuilder REST API. """ - _possible_workers = {} - workers_ab = None + _possible_workers = [] + workers_ab = [] try: with urllib.request.urlopen(AUTOBUILDER_WORKERS_ENDPOINT) as r: @@ -281,8 +277,7 @@ def _filter_inactive_workers(possible_workers: Dict) -> Dict: return False - for release in possible_workers: - _possible_workers[release] = [w for w in possible_workers[release] if is_connected(w)] + _possible_workers = [w for w in possible_workers if is_connected(w)] return _possible_workers @@ -312,55 +307,44 @@ def main(): sys.path.append(os.path.dirname(args.config)) import config - releases = None + release = None if args.release_from_env: - releases = [_get_current_core_release()] + release = _get_current_core_release() else: - releases = args.releases + release = args.release - if not releases: - print("Must provide one or more release, or --release-from-env") + if not release: + print("Must provide a release, or --release-from-env") exit(1) - possible_workers = {} + possible_workers = [] stable_release = True - for release in releases: - - if release != "master" and release not in config.workers_prev_releases: - print(f"Release {release} does not exist") - if args.release_from_env: - # Might be a custom branch or something else... safely exiting - exit(0) - else: - exit(1) - - if release == "master": - stable_release = False - possible_workers.update({release: config.all_workers}) - continue - - if release not in config.workers_prev_releases: - print(f"Release {release} does not exist, available releases: " - f"{config.workers_prev_releases.keys()}") + if release != "master" and release not in config.workers_prev_releases: + print(f"Release {release} does not exist") + if args.release_from_env: + # Might be a custom branch or something else... safely exiting + exit(0) + else: exit(1) - possible_workers.update( - {release: _possible_workers(config.workers_prev_releases[release], - config.all_workers)}) + if release == "master": + stable_release = False + possible_workers = config.all_workers + else: + possible_workers = _possible_workers(config.workers_prev_releases[release], + config.all_workers) if args.check_worker_statuses: possible_workers = _filter_inactive_workers(possible_workers) if args.compare: - assert len(releases) == 1, "Only one release should be passed for this mode" - release = releases[0] print(f"Comparing for release {release}...\n") poky_workers = _get_poky_distros() ab_workers = set() - for w in possible_workers[release]: + for w in possible_workers: mangled_w = _mangle_worker(w) if mangled_w: ab_workers.add(mangled_w) @@ -371,7 +355,7 @@ def main(): print("All good!") else: - _print_workers(possible_workers) + _print_workers(release, possible_workers) if __name__ == "__main__": From patchwork Wed Aug 6 15:43:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68156 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 86F6ECA0EC0 for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web10.28548.1754495066571982194 for ; Wed, 06 Aug 2025 08:44:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=C3ksitg7; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 174324433E; Wed, 6 Aug 2025 15:44:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m2zWG9DsHS5aJZr5eS5vlnLhHGBW8wwpVdqixS8knl4=; b=C3ksitg7JZSwPWo6VNHISHi4M2AccNtRMfGDEejizCs3zkdtNRGAcZSxUfxYBWiguCOUFp BQI8DA2+Y57tAI1NkXUiDLmQ1FCFYE+tkchWMF7ldGfCPdBKudBipXa9TcJsW/WgcHy8xH YKlNJaPLc6fnh2AJDybW7gBp3VnFq0BVEmccWxZQecmhaACbqf+Cw0yjLIm8LRMC2ILiEC PVgndqaXGsd12/lPkfZanQ8ADzejhDTJ/FkKhwBjEgMZTnMzL/szC7xbgVN6CsSzAJqc2j 6aPvK2kzBUXl0dHYjYvRovJUwnXuGuYzL8zoNUWeqhJCO5tkPKO9EjXudPKM2Q== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:35 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 5/7] scripts/yocto-supported-distros: add option to print old distros MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-5-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=2568; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=TyqHVOaBHrEn6ezB6hBjmgWZqkwDm8vudcHHusFKrDE=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hXWW4WIEny7lYeFYl1hLYB3Fw15H9zyz4LP eVtNw4pXguJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VwAKCRDRgEFAKaOo NuNhEADBYDr0kOdNqhEm9NLsPOYBjcYiMzd5cRDJQvaIpiY5co3dchyl9yhrnPx7snoj8SIVTj7 Eg4M0DBXOpqQd1CaOBqpFSrVkMmVUhsLXKq+gv4yV8Psdco9w+eJgPv+7WfKtruyeGVB0+Q9tJu LTtSPOLutrBjDS/FbvsmLxDOeBJOloDkqPgo74fhLo4s1gQqbv9Opr3hxnAoJAHSvnjjTMDwAZd RF1GF0Dfo75+0omA3sQA7R41YFSmFi/jDBUSefDH3G70XCONW8SPr/8WJvQGAng8Pt/g31Iebpb pWVH8zdM1Cth7oCL2aNoKTgOBg1Plx20tKWdPBbqQXgOB96eod75B6yXQ3/n6dVeY4gzHrGOyif on4HLEUegEmzE94zpIMO+rqzvF7t5VVUxxTcQfbVDd4TVYKZ3n+VY4vacBpppjnCUfc9JPGaLUq J7NkK6VyvtZNo05+ySr55caXjQpdXomlM6pCPTIfz7rGXw6K6dNppFTOTKNGvph8WNDii5DbAPB PX9bsGBi4UL+6wo/1GmQxLclYAqSSn3+ef534QDpOgR1yWuByhXTTBQQSwM6Kc5x+wXM2IevdOW Jy/wcGRbs62+mf9gcsPgK9Jcf6MM47T10RDQJaqTqXGMwWnAORxvk3I8ncOQjK2k+DlIGYZiF4X lhwKsXp3GntsD/Q== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeehieeguefhfeegheffgfeuieetheeileefheejkeetgfekueehueeluddvlefghfenucfkphepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelpdhhvghloheplgduvdejrddtrddurddungdpmhgrihhlfhhrohhmpegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdprhgtphhtthhopeihohgtthhoqdhprghttghhvghssehlihhsthhsrdihohgtthhophhrohhjvggtthdrohhrghdprhgtphhtthhopehthhhomhgrshdrphgvt hgriiiiohhnihessghoohhtlhhinhdrtghomh X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1895 We can use config.py to list distributions that used to be tested for a given release, by comparing the values in workers_prev_releases (all workers for a release) and all_workers (all active workers for any release). Add the --old-distros to do that. Make it mutually exclusive to --compare, we don't want to do multiple things at the same time. Add a pattern to match centos, as it was defined for kirkstone in the past (we use stream now). Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index f05788e..d53cc68 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -80,9 +80,15 @@ def parse_arguments() -> argparse.Namespace: action="store_true", help="Get config.py from yoctoproject's git web interface") - parser.add_argument("--compare", - action="store_true", - help="Compare to poky.conf releases") + g3 = parser.add_mutually_exclusive_group() + + g3.add_argument("--compare", + action="store_true", + help="Compare to poky.conf releases") + + g3.add_argument("--old-distros", + action="store_true", + help="Print previously tested distros") parser.add_argument("--check-worker-statuses", action="store_true", @@ -211,6 +217,11 @@ def _mangle_worker(worker: str) -> str: if m: return f"centosstream-{m.group(1)}" + r = re.compile(r"^centos(\d+)") + m = re.match(r, worker) + if m: + return f"centos-{m.group(1)}" + r = re.compile(r"^ubuntu(\d{2})(\d{2})") m = re.match(r, worker) if m: @@ -354,6 +365,19 @@ def main(): else: print("All good!") + elif args.old_distros: + if release == "master": + print("The --old-distros argument only makes sense for stable release") + exit(1) + + old_distros = [] + + for distro in config.workers_prev_releases[release]: + if not any(distro in w for w in config.all_workers): + old_distros.append(_mangle_worker(distro)) + + _print_workers(release, old_distros) + else: _print_workers(release, possible_workers) From patchwork Wed Aug 6 15:43:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68158 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 8AC17CA0EC2 for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web11.28762.1754495066731117457 for ; Wed, 06 Aug 2025 08:44:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=CSNbv1fS; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 481A54433F; Wed, 6 Aug 2025 15:44:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ngw6zUY6LMpIdjISUttXwsXvxMxPnulaxkwDc8IkVVw=; b=CSNbv1fSpOLh4mPLCPOmrBxfRR18fMcVZgLEzW0W55fyCaSS1QSwPIXAilh/xTs37Ki90g MkGFlejvj8ZcBURi+5KINQ/whkI3ccqJpt2ZR8DIkbbZJAhc645kXumPILUSfcN6UOx3Oe HCi0jRR0f93ADA/gyLp7zq62U+9HnCaUDi8yPWo+PzY3apbM0iJilpslQzcQImQeqLBenU zZ80SVinQuv55imzoFL7l59H/ymssO+911xubGdURpphBooYstUObwoL0OkiEuGze2ZyCS 5znXitIGbXV7QD+28t/ArgNH70ie1q4yfxG2HJBziTs6mzRLJLG/fZMPF6+uDQ== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:36 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 6/7] scripts/yocto-supported-distros: add --output-format option MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-6-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=6990; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=IrcJaVse4wWp0nlPmylgi1jJGg5FyelPNZVx6lCgJfk=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hXi8D+uxpGS9SdV2L1raMybg4pyzZ8fk78a HR6W+GZPsGJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VwAKCRDRgEFAKaOo NsHoEADIF5ccCjIZSp9YWiZ+kxJ7576ulkxS/fuWa+kjkR6jas0ce7PRflXaRyxdncpFGgcd+yy FL4m8InN84eGghu+rnMBQiHcQGutVPBNpzitjiTG9r2ZJ0vzaVelOpiq55hVKbpiU/7mDJ5l0OG mcC+pwksyMgQ/9vNM801wA7yG96vyyZHqbsw1AWHH7NIUPujlNSodUJM64klQIbW2a4ynVaNc/t b1N17LHA/8Qg80+9g56gtqHgrYMFiaOpoyFePzRlkM3ryB54eEiguZOknkuTm+mirA4bBYY21MW nYW/FcSwEOzvcXWIO/n18g0g2OorL3jFcrs3p9eRJWJIfGL7bQ4rvSszB8DytnldBlxa9F+H5D0 R/p+UXhGctpegTYeMnKilT9x/wjBDa2IeUx7lAd0DTLtcmtMD4a3o2O+cS5TOixX/xGn3og9w+G 8aVU6YiqeDErLwtonNzoi9Iq2lSxtEODh3Dyd/H6OIXBzpha6J12P8hAGYQ9lM8fm2obwhvgmt7 l+zm9Gi743Fy5HhSkp/ppHjqqYeQmduJ2z1BMyPUD4TIl42qFHXI4jhkKi3AOIhWEN18lSBhz5N dnmwWU05gfPE7dZ8WBNQfHYFXbFPswuBpMadU2WQG38F5GXbOBZV4gj/9CKItLe/SnKMch6rrMy 1iiwEE3yFUYRNRQ== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeekuefhiefhgfdtheejvdelledvhfegfefhtdetuefhfffhvdeiudeuvddvteetgeenucffohhmrghinhephihotghtohhprhhojhgvtghtrdhorhhgnecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfegtkedumegvsggrjeemudgskegsmegrhegtledphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeefpdhrtghpthhtoheprghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhtshdrhihotghtohhprhhoj hgvtghtrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhm X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1896 The --output-format option can be used to control how things are printed on the console. There are two supported types of formats: "lsb" for printing lsb_release formatted strings, and "docs" to print strings as a bullet list for yocto-docs. Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 149 +++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 48 deletions(-) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index d53cc68..fa5b819 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -56,6 +56,77 @@ CONFIG_REMOTE_URL = "https://git.yoctoproject.org/yocto-autobuilder2/plain/confi AUTOBUILDER_WORKERS_ENDPOINT = "https://autobuilder.yoctoproject.org/valkyrie/api/v2/workers" +INPUT_REGEXES = { + "alma": { + "ab": re.compile(r"^alma(\d+)"), + "lsb": re.compile(r"^almalinux-(\d+)"), + }, + "debian": { + "ab": re.compile(r"^debian(\d+)"), + "lsb": re.compile(r"^debian-(\d+)"), + }, + "fedora": { + "ab": re.compile(r"^fedora(\d+)"), + "lsb": re.compile(r"^fedora-(\d+)"), + }, + "opensuseleap": { + "ab": re.compile(r"^opensuse(\d{2})(\d{1})"), + "lsb": re.compile(r"^opensuse-(\d{2})\.(\d{1})"), + }, + "centos": { + "ab": re.compile(r"^centos(\d+)"), + "lsb": re.compile(r"^centos-(\d+)"), + }, + "centosstream": { + "ab": re.compile(r"^stream(\d+)"), + "lsb": re.compile(r"^stream-(\d+)"), + }, + "rocky": { + "ab": re.compile(r"^rocky(\d+)"), + "lsb": re.compile(r"^rocky-(\d+)"), + }, + "ubuntu": { + "ab": re.compile(r"^ubuntu(\d{2})(\d{2})"), + "lsb": re.compile(r"^ubuntu-(\d{2})\.(\d{2})"), + }, +} + +OUTPUT_FORMATS = { + "alma": { + "lsb": "almalinux-{}", + "docs": "- AlmaLinux {}", + }, + "debian": { + "lsb": "debian-{}", + "docs": "- Debian {}", + }, + "fedora": { + "lsb": "fedora-{}", + "docs": "- Fedora {}", + }, + "opensuseleap": { + "lsb": "opensuseleap-{}.{}", + "docs": "- OpenSUSE Leap {}.{}", + }, + "centos": { + "lsb": "centos-{}", + "docs": "- CentOS {}", + }, + "centosstream": { + "lsb": "centosstream-{}", + "docs": "- CentOS Stream {}", + }, + "rocky": { + "lsb": "rocky-{}", + "docs": "- Rocky Linux {}", + }, + "ubuntu": { + "lsb": "ubuntu-{}.{}", + "docs": "- Ubuntu {}.{}", + }, +} + + def parse_arguments() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Print supported distributions") @@ -95,6 +166,12 @@ def parse_arguments() -> argparse.Namespace: default=False, help="Also check the worker statuses using the Autobuilder API") + parser.add_argument("--output-format", + type=str, + default="lsb", + choices=['lsb', 'docs'], + help="Output format of the workers ('lsb' or 'docs')") + return parser.parse_args() @@ -115,17 +192,17 @@ def _possible_workers(all_workers: List[str], return possible_workers -def _print_worker_list(worker_list: List, indent=2): +def _print_worker_list(worker_list: List): """ Helper to print a set nicely. """ for w in worker_list: - print(" " * indent + w) + print(w) def _print_worker_list_warning(worker_list: List, warning): """ - Helper to print a set nicely. + Helper to print a warning nicely. """ for w in worker_list: print("WARNING: " + warning + ": " + w) @@ -135,7 +212,6 @@ def _print_workers(release: str, possible_workers: List[str]): """ Helper to print the workers nicely. """ - print(f"{release}:\n") _print_worker_list(sorted(possible_workers)) @@ -182,50 +258,22 @@ def _get_current_core_release() -> str: return release.strip().split()[-1] -def _mangle_worker(worker: str) -> str: +def _mangle_worker(worker: str, format_in: str, format_out: str) -> str: """ - Mangle the worker name to convert it to an lsb_release type of string. + Mangle the worker name to convert it to a different format. + Input -> output formats can be: + - ab -> lsb + - ab -> docs + - lsb -> docs """ - r = re.compile(r"^alma(\d+)") - m = re.match(r, worker) - if m: - return f"almalinux-{m.group(1)}" - - r = re.compile(r"^debian(\d+)") - m = re.match(r, worker) - if m: - return f"debian-{m.group(1)}" - - r = re.compile(r"^fedora(\d+)") - m = re.match(r, worker) - if m: - return f"fedora-{m.group(1)}" - - r = re.compile(r"^opensuse(\d{2})(\d{1})") - m = re.match(r, worker) - if m: - return f"opensuseleap-{m.group(1)}.{m.group(2)}" - - r = re.compile(r"^rocky(\d+)") - m = re.match(r, worker) - if m: - return f"rocky-{m.group(1)}" - - r = re.compile(r"^stream(\d+)") - m = re.match(r, worker) - if m: - return f"centosstream-{m.group(1)}" - - r = re.compile(r"^centos(\d+)") - m = re.match(r, worker) - if m: - return f"centos-{m.group(1)}" - - r = re.compile(r"^ubuntu(\d{2})(\d{2})") - m = re.match(r, worker) - if m: - return f"ubuntu-{m.group(1)}.{m.group(2)}" + if format_in == format_out: + return worker + + for distro in INPUT_REGEXES: + m = re.match(INPUT_REGEXES[distro][format_in], worker) + if m: + return OUTPUT_FORMATS[distro][format_out].format(*list(m.groups())) return "" @@ -356,7 +404,7 @@ def main(): poky_workers = _get_poky_distros() ab_workers = set() for w in possible_workers: - mangled_w = _mangle_worker(w) + mangled_w = _mangle_worker(w, "ab", "lsb") if mangled_w: ab_workers.add(mangled_w) @@ -374,12 +422,17 @@ def main(): for distro in config.workers_prev_releases[release]: if not any(distro in w for w in config.all_workers): - old_distros.append(_mangle_worker(distro)) + old_distros.append(_mangle_worker(distro, "ab", args.output_format)) _print_workers(release, old_distros) else: - _print_workers(release, possible_workers) + workers = set() + for w in possible_workers: + mangled_w = _mangle_worker(w, "ab", args.output_format) + if mangled_w: + workers.add(mangled_w) + _print_workers(release, workers) if __name__ == "__main__": From patchwork Wed Aug 6 15:43:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 68157 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 983C9CA0EC3 for ; Wed, 6 Aug 2025 15:44:33 +0000 (UTC) Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web11.28763.1754495066954068271 for ; Wed, 06 Aug 2025 08:44:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=IzBCOG8J; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: antonin.godard@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 802EC44340; Wed, 6 Aug 2025 15:44:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1754495065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6BY2YU8ejvjDUQT2SSFo765+pSUwSj8PYqzyGDIDUlw=; b=IzBCOG8JYgKB6jcYLgP8gge01s1wPrbK1yv0JZLUcqQZssi9xMj/IrEtk57eSrDQwpcUDm tSC794l4yb59DfKp58psobvWsrEWaF8+U9ZBUHEUYg89O1ZPFA1Eadn1cTsheOK3NEslt0 iEzCDk2BJtV/J6KNo/xS58I48e7sHYoI2hmmRJ0+1KWOx9Pj1/KVOn5l6wW1snZPdkLtWP a9CaiA/Wwby/Eemg5KI+TSb8jbPyKltJ2Vnxf4B51H/B3kPGwpMuDJUytVZxRq8tdfzNCQ MZoQ1HzKD6tdiYpUK2dggWdyO9iZhlN00/dOl4myYdFdEgJM1t8+t1Q7PATn1Q== From: Antonin Godard Date: Wed, 06 Aug 2025 17:43:37 +0200 Subject: [yocto-autobuilder-helper][PATCH v2 7/7] scripts/yocto-supported-distros: add --poky-distros option MIME-Version: 1.0 Message-Id: <20250806-check-worker-statuses-v2-7-59dd990d22e7@bootlin.com> References: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> In-Reply-To: <20250806-check-worker-statuses-v2-0-59dd990d22e7@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Antonin Godard X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1572; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=FzIFv7HGr75zeCRzzeKLJefXKukGXRdRYP3e3oUD2ew=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBok3hX2jI6Xr+/btrH1J2UCgmePWeCMgcJDleY7 k9Z5bY1RX6JAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaJN4VwAKCRDRgEFAKaOo NhmzEACSUlZ4xfmzBd35c76wC2STgJjwslKmXdH7mLkCJ0M9fgGcfBYx3sckqxTKyp9qF20HzJx ZJUs3uDoEK1+GAkrAQVzL6c+nZjHkaGDWL0eyuNQ2FcbCJQgJEACYXx640yUpf4KWoFUKPU9Ped mywTE1/R6tWQUdSdce9p072lJaZSLIW5Lb4G6MhxYYlvB9KaT+LNCL/fpIYXoMzC2Os2G7xjaaT sXo/e1TS+L8ppgBohez/zv09SwsJprpVAJJssMpjWq7mzDAHD6dxgPaoWy2V2nQEn7hDwD62R7M bFkQlwHsTCtHb2F4r9ZBbYcHg5muAXNESp+QS53V5tZTRRbHS1vvyudKNpwk7dsKtoOKn0Fq7ZD KD3f3euDHSRXblsabTX+ebI5zSfYYprdkwQifUzGnXyq0vm65vZ9ube8dTyM9DhkBsr3KPqcH1L 46AMhXtqQ70xkd1DXpfSoWPe9Ksw46Sj5Vc3M2hnEEQeXfk7jP0tdIwERwSj4dLDzu5pg8PC6qT LB+LddEtmpWZcwqkTrx6O0+eszP1Y7VdVGCpUieioJEGPjyCwPVEVdrDZGxZaY0QM4oqeHfWEsF LDtP6SIMBaAU/FhCut487bTzrpYMozxlgE38JqLb465P7YdMErpNy0JNm/YCLyviGS4Bi9ooVG6 vTaD9vpa16j213g== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduudekgeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomheptehnthhonhhinhcuifhouggrrhguuceorghnthhonhhinhdrghhouggrrhgusegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeehieeguefhfeegheffgfeuieetheeileefheejkeetgfekueehueeluddvlefghfenucfkphepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddumegtsgdugeemheehieemjegrtddtmeeftgekudemvggsrgejmedusgeksgemrgehtgelpdhhvghloheplgduvdejrddtrddurddungdpmhgrihhlfhhrohhmpegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopegrnhhtohhnihhnrdhgohgurghrugessghoohhtlhhinhdrtghomhdprhgtphhtthhopeihohgtthhoqdhprghttghhvghssehlihhsthhsrdihohgtthhophhrohhjvggtthdrohhrghdprhgtphhtthhopehthhhomhgrshdrphgvt hgriiiiohhnihessghoohhtlhhinhdrtghomh X-GND-Sasl: antonin.godard@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Aug 2025 15:44:33 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1897 Add a --poky-distros option to list the distributions listed in SANITY_TESTED_DISTROS in the desired format. This means that the strings can be converted from lsb to docs, for yocto-docs. Signed-off-by: Antonin Godard --- scripts/yocto-supported-distros | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/yocto-supported-distros b/scripts/yocto-supported-distros index fa5b819..e70943d 100755 --- a/scripts/yocto-supported-distros +++ b/scripts/yocto-supported-distros @@ -157,6 +157,10 @@ def parse_arguments() -> argparse.Namespace: action="store_true", help="Compare to poky.conf releases") + g3.add_argument("--poky-distros", + action="store_true", + help="Print previously tested distros") + g3.add_argument("--old-distros", action="store_true", help="Print previously tested distros") @@ -413,6 +417,15 @@ def main(): else: print("All good!") + elif args.poky_distros: + poky_distros = _get_poky_distros() + workers = set() + for w in poky_distros: + mangled_w = _mangle_worker(w, "lsb", args.output_format) + if mangled_w: + workers.add(mangled_w) + _print_workers(release, workers) + elif args.old_distros: if release == "master": print("The --old-distros argument only makes sense for stable release")