[bitbake-devel] [PATCH] toaster: confirm bitbake versions
"Reyna, David" <[email protected]> Thu, 18 Jun 2026 03:22:54 +0000
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <IA1PR11MB7677339C22226DD69F513388EAE32@IA1PR11MB7677.namprd11.prod.outlook.com> |
From 7c5ec0b95f9dba932f74983f34d245646a371b7f Mon Sep 17 00:00:00 2001 From: David Reyna <[email protected]> Date: Wed, 17 Jun 2026 20:13:11 -0700 Subject: [PATCH] toaster: confirm bitbake version in 'gen_fixtures.py' Also test that the version of bitbake in the release table in 'gen_fixtures.py' matches the registered version in the YP releases URL. Example output with induced error: $ ./check_fixtures.py Note: Active releases that are not yet in the Layer Index: ['blacksail'] ERROR: Bitbake version mismatch for 'wrynose': 2.18 versus 2.16 $ [YOCTO #16280] Signed-off-by: David Reyna <[email protected]> --- lib/toaster/orm/fixtures/check_fixtures.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/toaster/orm/fixtures/check_fixtures.py b/lib/toaster/orm/fixtures/check_fixtures.py index 386c2da40..b33c093da 100755 --- a/lib/toaster/orm/fixtures/check_fixtures.py +++ b/lib/toaster/orm/fixtures/check_fixtures.py @@ -31,6 +31,7 @@ index_branches = [ # Grab the recent release branches and add master, so we can ignore old branches releases = fetch_json(RELEASE_URL) active_releases = [] +active_releases_bitbake = {} active_but_not_index = [] for e in releases: if e["series"] != "current": @@ -40,6 +41,7 @@ for e in releases: active_but_not_index.append(release) else: active_releases.append(release) + active_releases_bitbake[release] = e["bitbake_version"] active_releases.append("master") active_releases.append("head") active_releases.sort() @@ -48,14 +50,27 @@ if active_but_not_index: print(f"Note: Active releases that are not yet in the Layer Index: {active_but_not_index}" ) # Get the list of releases instantiated in the Toaster fixtures -fixtures_releases = [x[0].lower() for x in fixtures.current_releases] +fixtures_releases = [] +fixtures_releases_bitbake = {} +for fixture in fixtures.current_releases: + release = fixture[0].lower() + fixtures_releases.append(release) + fixtures_releases_bitbake[release] = fixture[6] fixtures_releases.sort() # Report the resulting status +ok = True +for release in active_releases: + if release in ("master","head"): + continue + if active_releases_bitbake[release] != fixtures_releases_bitbake[release]: + print(f"ERROR: Bitbake version mismatch for '{release}': {active_releases_bitbake[release]} versus {fixtures_releases_bitbake[release]}") + ok = False if set(active_releases) != set(fixtures_releases): print(f"WARNING: Active releases don't match toaster configured releases, the difference is: {set(active_releases).difference(set(fixtures_releases))}") print(f"Active releases: {sorted(active_releases)}") print(f"Toaster configured releases: {sorted(fixtures_releases)}") -else: + ok = False +if ok: print("Success, configuration matches") -- 2.43.0