1*c9537f57SPatrick Williams#!/usr/bin/env python3 2*c9537f57SPatrick Williams# 3*c9537f57SPatrick Williams# Copyright (C) 2025 Linux Foundation 4*c9537f57SPatrick Williams# SPDX-License-Identifier: GPL-2.0-only 5*c9537f57SPatrick Williams# 6*c9537f57SPatrick Williams 7*c9537f57SPatrick Williamsimport json 8*c9537f57SPatrick Williamsimport urllib.request 9*c9537f57SPatrick Williams 10*c9537f57SPatrick Williamsimport gen_fixtures as fixtures 11*c9537f57SPatrick Williams 12*c9537f57SPatrick WilliamsRELEASE_URL = "https://dashboard.yoctoproject.org/releases.json" 13*c9537f57SPatrick Williams 14*c9537f57SPatrick Williamswith urllib.request.urlopen(RELEASE_URL) as response: 15*c9537f57SPatrick Williams if response.getcode() == 200: 16*c9537f57SPatrick Williams data = response.read().decode("utf-8") 17*c9537f57SPatrick Williams releases = json.loads(data) 18*c9537f57SPatrick Williams else: 19*c9537f57SPatrick Williams print("Couldn't access %s: %s" % (RELEASE_URL, reponse.getcode())) 20*c9537f57SPatrick Williams exit(1) 21*c9537f57SPatrick Williams 22*c9537f57SPatrick Williams 23*c9537f57SPatrick Williams# grab the recent release branches and add master, so we can ignore old branches 24*c9537f57SPatrick Williamsactive_releases = [ 25*c9537f57SPatrick Williams e["release_codename"].lower() for e in releases if e["series"] == "current" 26*c9537f57SPatrick Williams] 27*c9537f57SPatrick Williamsactive_releases.append("master") 28*c9537f57SPatrick Williamsactive_releases.append("head") 29*c9537f57SPatrick Williams 30*c9537f57SPatrick Williamsfixtures_releases = [x[0].lower() for x in fixtures.current_releases] 31*c9537f57SPatrick Williams 32*c9537f57SPatrick Williamsif set(active_releases) != set(fixtures_releases): 33*c9537f57SPatrick Williams print("WARNING: Active releases don't match toaster configured releases, the difference is: %s" % set(active_releases).difference(set(fixtures_releases))) 34*c9537f57SPatrick Williams print("Active releases: %s" % sorted(active_releases)) 35*c9537f57SPatrick Williams print("Toaster configured releases: %s" % sorted(fixtures_releases)) 36*c9537f57SPatrick Williamselse: 37*c9537f57SPatrick Williams print("Success, configuration matches") 38*c9537f57SPatrick Williams 39