From 600e77e212ae1ecd296c99418b6966f47efac68a Mon Sep 17 00:00:00 2001 From: Marc Wrobel Date: Sun, 12 Nov 2023 22:03:45 +0100 Subject: [PATCH] Sort versions by date then version for all products (#179) --- src/amazon-neptune.py | 5 +---- src/apache-http-server.py | 8 +------- src/apple.py | 23 +++++++++++------------ src/artifactory.py | 7 ++----- src/cgit.py | 9 +++------ src/common/endoflife.py | 5 ++++- src/confluence.py | 5 +---- src/cos.py | 4 ++-- src/couchbase-server.py | 5 +---- src/debian.py | 11 ++++------- src/distrowatch.py | 6 +++--- src/docker_hub.py | 6 +++--- src/eks.py | 1 + src/firefox.py | 7 ++----- src/git.py | 6 +++--- src/github-releases.py | 6 +++--- src/haproxy.py | 9 +++------ src/ibm-aix.py | 7 ++----- src/jira.py | 5 +---- src/looker.py | 5 +---- src/maven.py | 9 +++------ src/npm.py | 6 +++--- src/nutanix.py | 13 +++++-------- src/oracle-jdk.py | 9 +++------ src/php.py | 9 +++------ src/plesk.py | 7 ++----- src/pypi.py | 6 +++--- src/rds.py | 9 +++------ src/red-hat-openshift.py | 10 ++-------- src/redhat-satellite.py | 5 +---- src/rockylinux.py | 2 -- src/sles.py | 7 ++----- src/splunk.py | 11 ++++------- src/typo3.py | 8 +++----- src/unity.py | 9 +++------ 35 files changed, 92 insertions(+), 168 deletions(-) diff --git a/src/amazon-neptune.py b/src/amazon-neptune.py index 02997ff0..e556c319 100644 --- a/src/amazon-neptune.py +++ b/src/amazon-neptune.py @@ -26,8 +26,5 @@ for item in rss.getElementsByTagName("item"): versions[version] = date print(f"{version}: {date}") -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/apache-http-server.py b/src/apache-http-server.py index ab1547b6..69397bef 100644 --- a/src/apache-http-server.py +++ b/src/apache-http-server.py @@ -64,10 +64,4 @@ for branch in git.list_branches("refs/heads/?.?.x"): fetch_versions_from_file(git.repo_dir / status_file, versions) print("::endgroup::") -endoflife.write_releases( - PRODUCT, - dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) - ), -) +endoflife.write_releases(PRODUCT, versions) diff --git a/src/apple.py b/src/apple.py index c0167ee9..0c467a2c 100644 --- a/src/apple.py +++ b/src/apple.py @@ -53,16 +53,16 @@ def parse_date(s): # Only update the date if we are adding first time or if the date is lower -def handle_version(key, version, date_text, releases): +def handle_version(key, version, date_text, versions): try: date = parse_date(date_text) date_fmt = date.strftime("%Y-%m-%d") - if version not in releases[key]: - releases[key][version] = date + if version not in versions[key]: + versions[key][version] = date print(f"{key}-{version}: {date_fmt}") - elif releases[key][version] > date: - releases[key][version] = date + elif versions[key][version] > date: + versions[key][version] = date print(f"{key}-{version}: {date_fmt} [UPDATED]") else: print(f"{key}-{version}: {date_fmt} [IGNORED]") @@ -71,7 +71,7 @@ def handle_version(key, version, date_text, releases): print(f"{key}-{version}: Failed to parse {date_text} for {version}") -def parse(url, releases): +def parse(url, versions): response = endoflife.fetch_url(url) soup = BeautifulSoup(response, features="html5lib") table = soup.find(id="tableWraper") @@ -85,18 +85,17 @@ def parse(url, releases): matches = re.findall(regex, version_text, re.MULTILINE) for version in matches: date_text = td_list[2].get_text().strip() - handle_version(key, version, date_text, releases) + handle_version(key, version, date_text, versions) print("::group::apple") -releases_by_product = {k: {} for k in CONFIG.keys()} +versions_by_product = {k: {} for k in CONFIG.keys()} for url in URLS: - parse(url, releases_by_product) + parse(url, versions_by_product) for k in CONFIG.keys(): - endoflife.write_releases(k, { - v: d.strftime("%Y-%m-%d") for v, d in releases_by_product[k].items() - }) + versions = { v: d.strftime("%Y-%m-%d") for v, d in versions_by_product[k].items() } + endoflife.write_releases(k, versions) print("::endgroup::") diff --git a/src/artifactory.py b/src/artifactory.py index 206b75ce..e6855ac1 100644 --- a/src/artifactory.py +++ b/src/artifactory.py @@ -43,9 +43,6 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -releases = fetch_releases() -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +versions = fetch_releases() +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/cgit.py b/src/cgit.py index 422ef74f..9281954e 100644 --- a/src/cgit.py +++ b/src/cgit.py @@ -62,17 +62,14 @@ def fetch_releases(url, regex, template): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: t = config.get("template", DEFAULT_TAG_TEMPLATE) regex = config.get("regex", DEFAULT_VERSION_REGEX) - releases = releases | fetch_releases(config[METHOD], regex, t) + versions = versions | fetch_releases(config[METHOD], regex, t) - endoflife.write_releases(product_name, dict( - # sort by version then date (asc) - sorted(releases.items(), key=lambda x: (x[0], x[1])) - )) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/common/endoflife.py b/src/common/endoflife.py index 30da1414..2eec983a 100644 --- a/src/common/endoflife.py +++ b/src/common/endoflife.py @@ -52,4 +52,7 @@ def fetch_url(url, retry_count=5, timeout=30, data=None, headers=None, encoding= def write_releases(product, releases, pathname="releases"): with open(f"{pathname}/{product}.json", "w") as f: - f.write(json.dumps(releases, indent=2)) + f.write(json.dumps(dict( + # sort by date then version (desc) + sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) + ), indent=2)) diff --git a/src/confluence.py b/src/confluence.py index ed5c95ab..21841bae 100644 --- a/src/confluence.py +++ b/src/confluence.py @@ -29,8 +29,5 @@ for version_block in r.html.find('.versions-list'): print(f"{version}: {date}") versions[version] = date -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (asc) - sorted(versions.items(), key=lambda x: (x[1], x[0])) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/cos.py b/src/cos.py index bc6807be..b1e92dfc 100644 --- a/src/cos.py +++ b/src/cos.py @@ -70,5 +70,5 @@ def get_all_versions(): return all_versions -releases = get_all_versions() -endoflife.write_releases('cos', releases) +versions = get_all_versions() +endoflife.write_releases('cos', versions) diff --git a/src/couchbase-server.py b/src/couchbase-server.py index 79c21dac..3978c4b7 100644 --- a/src/couchbase-server.py +++ b/src/couchbase-server.py @@ -52,8 +52,5 @@ for base_url in URLS: print(f"{version}: {date}") versions = versions | FIXED_VERSIONS -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/debian.py b/src/debian.py index 9a4f10d0..9fac9050 100644 --- a/src/debian.py +++ b/src/debian.py @@ -56,11 +56,8 @@ git = Git(REPO_URL) git.setup() git.checkout("master", file_list=["english/News"]) -all_releases = {} -extract_major_releases(all_releases, git.repo_dir) -extract_point_releases(all_releases, git.repo_dir) -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(all_releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +all_versions = {} +extract_major_releases(all_versions, git.repo_dir) +extract_point_releases(all_versions, git.repo_dir) +endoflife.write_releases(PRODUCT, all_versions) print("::endgroup::") diff --git a/src/distrowatch.py b/src/distrowatch.py index 0a4c32ae..10f2837b 100644 --- a/src/distrowatch.py +++ b/src/distrowatch.py @@ -39,15 +39,15 @@ def fetch_releases(distrowatch_id, regex, template): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: t = config.get("template", DEFAULT_TAG_TEMPLATE) if "regex" in config: regex = config["regex"] - releases = releases | fetch_releases(config[METHOD], regex, t) + versions = versions | fetch_releases(config[METHOD], regex, t) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/docker_hub.py b/src/docker_hub.py index 2dc9eaef..8252da14 100644 --- a/src/docker_hub.py +++ b/src/docker_hub.py @@ -31,14 +31,14 @@ def fetch_releases(url, regex, releases): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: url = f"https://hub.docker.com/v2/repositories/{config[METHOD]}/tags?page_size=100&page=1" config = {"regex": REGEX} | config - fetch_releases(url, config["regex"], releases) + fetch_releases(url, config["regex"], versions) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/eks.py b/src/eks.py index ec1478ea..fe6384c4 100644 --- a/src/eks.py +++ b/src/eks.py @@ -41,5 +41,6 @@ def parse_platforms_pages(): print("::endgroup::") return all_versions + versions = parse_platforms_pages() endoflife.write_releases('eks', versions) diff --git a/src/firefox.py b/src/firefox.py index 4ca347e4..2de842c9 100644 --- a/src/firefox.py +++ b/src/firefox.py @@ -158,9 +158,6 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -releases = fetch_releases() -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +versions = fetch_releases() +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/git.py b/src/git.py index f153dc6f..78261691 100644 --- a/src/git.py +++ b/src/git.py @@ -37,15 +37,15 @@ def fetch_releases(product_name, url, regex, template): return releases def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: t = config.get("template", DEFAULT_TAG_TEMPLATE) regex = config.get("regex", DEFAULT_VERSION_REGEX) regex = regex.replace("(?<", "(?P<") # convert ruby regex to python regex - releases = releases | fetch_releases(product_name, config[METHOD], regex, t) + versions = versions | fetch_releases(product_name, config[METHOD], regex, t) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/github-releases.py b/src/github-releases.py index 1daba3bb..0ba1fb7e 100644 --- a/src/github-releases.py +++ b/src/github-releases.py @@ -66,13 +66,13 @@ def fetch_releases(repo_id, regex): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: config = config if "regex" in config else config | {"regex": REGEX} - releases = releases | fetch_releases(config[METHOD], config["regex"]) + versions = versions | fetch_releases(config[METHOD], config["regex"]) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/haproxy.py b/src/haproxy.py index f08c94e9..701db0fc 100644 --- a/src/haproxy.py +++ b/src/haproxy.py @@ -52,10 +52,7 @@ def print_releases(releases): print(f"::group::{PRODUCT}") all_cycles = fetch_cycles() -all_releases = fetch_releases(all_cycles) -print_releases(all_releases) -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(all_releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +all_versions = fetch_releases(all_cycles) +print_releases(all_versions) +endoflife.write_releases(PRODUCT, all_versions) print("::endgroup::") diff --git a/src/ibm-aix.py b/src/ibm-aix.py index 42f07f1f..11c4fc72 100644 --- a/src/ibm-aix.py +++ b/src/ibm-aix.py @@ -31,9 +31,6 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -releases = fetch_releases() -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +versions = fetch_releases() +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/jira.py b/src/jira.py index d7c100fa..6009d39f 100644 --- a/src/jira.py +++ b/src/jira.py @@ -29,8 +29,5 @@ for version_block in r.html.find('.versions-list'): print(f"{version}: {date}") versions[version] = date -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (asc) - sorted(versions.items(), key=lambda x: (x[1], x[0])) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/looker.py b/src/looker.py index be787746..542890b4 100644 --- a/src/looker.py +++ b/src/looker.py @@ -35,8 +35,5 @@ for item in rss.getElementsByTagName("entry"): versions[version] = date print(f"{version}: {date}") -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/maven.py b/src/maven.py index c76bb7ef..0c02007e 100644 --- a/src/maven.py +++ b/src/maven.py @@ -45,15 +45,12 @@ def fetch_releases(package_identifier): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: - releases = releases | fetch_releases(config[METHOD]) + versions = versions | fetch_releases(config[METHOD]) - endoflife.write_releases(product_name, dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) - )) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/npm.py b/src/npm.py index 01f64c62..e9834a07 100644 --- a/src/npm.py +++ b/src/npm.py @@ -31,13 +31,13 @@ def fetch_releases(npm_id, regex): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: config = {"regex": REGEX} | config - releases = releases | fetch_releases(config[METHOD], config["regex"]) + versions = versions | fetch_releases(config[METHOD], config["regex"]) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/nutanix.py b/src/nutanix.py index a0a69bc3..1115fc95 100644 --- a/src/nutanix.py +++ b/src/nutanix.py @@ -14,7 +14,7 @@ BASE_URL = "https://portal.nutanix.com/api/v1/eol/find?type=" def fetch_releases(product_code): - releases = {} + versions = {} url = BASE_URL + product_code print(url) response = endoflife.fetch_url(url) @@ -24,17 +24,14 @@ def fetch_releases(product_code): if 'GENERAL_AVAILABILITY' in version_data: version = version_data["version"] date = version_data["GENERAL_AVAILABILITY"].split("T")[0] - releases[version] = date + versions[version] = date print(f"{version}: {date}") - return releases + return versions for product_name, product_code in PRODUCTS.items(): print(f"::group::{product_name}") - all_releases = fetch_releases(product_code) - endoflife.write_releases(product_name, dict( - # sort by date then version (desc) - sorted(all_releases.items(), key=lambda x: (x[1], x[0]), reverse=True) - )) + all_versions = fetch_releases(product_code) + endoflife.write_releases(product_name, all_versions) print("::endgroup::") diff --git a/src/oracle-jdk.py b/src/oracle-jdk.py index 6e732880..bfab5319 100644 --- a/src/oracle-jdk.py +++ b/src/oracle-jdk.py @@ -40,10 +40,7 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -all_releases = fetch_releases() -all_releases.pop('1.0_alpha') # only version we don't want, regex not needed -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(all_releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +all_versions = fetch_releases() +all_versions.pop('1.0_alpha') # only version we don't want, regex not needed +endoflife.write_releases(PRODUCT, all_versions) print("::endgroup::") diff --git a/src/php.py b/src/php.py index e134ba72..4cf10671 100644 --- a/src/php.py +++ b/src/php.py @@ -27,12 +27,9 @@ def fetch_versions(major_version): print("::group::php") -releases = {} - +versions = {} for major_version in PHP_MAJOR_VERSIONS: - releases |= fetch_versions(major_version) + versions |= fetch_versions(major_version) -endoflife.write_releases('php', dict(sorted( - releases.items(), key=lambda x: list(map(int, x[0].split("."))) -))) +endoflife.write_releases('php', versions) print("::endgroup::") diff --git a/src/plesk.py b/src/plesk.py index 44ad327b..b8177374 100644 --- a/src/plesk.py +++ b/src/plesk.py @@ -35,9 +35,6 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -releases = fetch_releases() -endoflife.write_releases(PRODUCT, dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +versions = fetch_releases() +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/pypi.py b/src/pypi.py index 083dd915..b7104234 100644 --- a/src/pypi.py +++ b/src/pypi.py @@ -35,13 +35,13 @@ def fetch_releases(pypi_id, regex): def update_product(product_name, configs): - releases = {} + versions = {} for config in configs: config = {"regex": REGEX} | config - releases = releases | fetch_releases(config[METHOD], config["regex"]) + versions = versions | fetch_releases(config[METHOD], config["regex"]) - endoflife.write_releases(product_name, releases) + endoflife.write_releases(product_name, versions) p_filter = sys.argv[1] if len(sys.argv) > 1 else None diff --git a/src/rds.py b/src/rds.py index 68e51d89..fde9a9b9 100644 --- a/src/rds.py +++ b/src/rds.py @@ -19,7 +19,7 @@ def parse_date(d): for db, url in DBS.items(): print(f"::group::{db}") - releases = {} + versions = {} response = endoflife.fetch_url(url) soup = BeautifulSoup(response, features="html5lib") @@ -37,10 +37,7 @@ for db, url in DBS.items(): if date: version = m.group("v") print(f"{version} : {date}") - releases[version] = date + versions[version] = date - endoflife.write_releases(f"amazon-rds-{db.lower()}", dict( - # sort by date then version (desc) - sorted(releases.items(), key=lambda x: (x[1], x[0]), reverse=True) - )) + endoflife.write_releases(f"amazon-rds-{db.lower()}", versions) print("::endgroup::") diff --git a/src/red-hat-openshift.py b/src/red-hat-openshift.py index 4e1ab599..203eecc0 100644 --- a/src/red-hat-openshift.py +++ b/src/red-hat-openshift.py @@ -41,12 +41,6 @@ for branch in git.list_branches("refs/heads/enterprise-[4-9]*"): print(f"::group::{PRODUCT}") for version, date in versions.items(): print(f"{version}: {date}") -print("::endgroup::") -endoflife.write_releases( - PRODUCT, - dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) - ), -) +endoflife.write_releases(PRODUCT, versions) +print("::endgroup::") diff --git a/src/redhat-satellite.py b/src/redhat-satellite.py index 08a6a175..ee4a4162 100644 --- a/src/redhat-satellite.py +++ b/src/redhat-satellite.py @@ -31,8 +31,5 @@ for table in soup.findAll("tbody"): versions[version] = date print(f"{version}: {date}") -endoflife.write_releases('redhat-satellite', dict( - # sort by date then version (desc) - sorted(versions.items(), key=lambda x: (x[1], x[0]), reverse=True) -)) +endoflife.write_releases('redhat-satellite', versions) print("::endgroup::") diff --git a/src/rockylinux.py b/src/rockylinux.py index 215200da..d527ac6f 100644 --- a/src/rockylinux.py +++ b/src/rockylinux.py @@ -28,8 +28,6 @@ def parse_markdown_table(table_text): print("::group::rockylinux") response = endoflife.fetch_url(URL) - versions = parse_markdown_table(response) endoflife.write_releases('rockylinux', versions) - print("::endgroup::") diff --git a/src/sles.py b/src/sles.py index 3a5dd79b..eb487a42 100644 --- a/src/sles.py +++ b/src/sles.py @@ -58,9 +58,6 @@ def fetch_releases(): print(f"::group::{PRODUCT}") -releases = fetch_releases() -endoflife.write_releases(PRODUCT, dict( - # sort by version then date (asc) - sorted(releases.items(), key=lambda x: (x[0], x[1])) -)) +versions = fetch_releases() +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/splunk.py b/src/splunk.py index 1206a4cf..0a889427 100644 --- a/src/splunk.py +++ b/src/splunk.py @@ -14,7 +14,7 @@ def convert_date(date: str) -> str: print(f"::group::{PRODUCT}") -releases = dict() +versions = dict() main = endoflife.fetch_url(URL) soup = BeautifulSoup(main, features="html5lib") @@ -38,7 +38,7 @@ sorted_versions = sorted( ) for v in sorted_versions: - if v in releases: + if v in versions: continue # if we already know the release date, skip it relnotes = endoflife.fetch_url(RELNOTES_URL_TEMPLATE.format(version=v)) @@ -46,11 +46,8 @@ for v in sorted_versions: # convert x.y to x.y.0 version = f"{version}.0" if len(version.split(".")) == 2 else version date = convert_date(date_str) - releases[version] = date + versions[version] = date print(f"{version}: {date}") -endoflife.write_releases(PRODUCT, dict( - # sort by version then date (asc) - sorted(releases.items(), key=lambda x: (x[0], x[1])) -)) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/typo3.py b/src/typo3.py index eeadce55..8904ae9e 100644 --- a/src/typo3.py +++ b/src/typo3.py @@ -5,17 +5,15 @@ PRODUCT = "typo3" URL = "https://get.typo3.org/api/v1/release/" print(f"::group::{PRODUCT}") -releases = {} +versions = {} response = endoflife.fetch_url(URL) data = json.loads(response) for v in data: if v['type'] != 'development': date = v["date"][0:10] - releases[v["version"]] = date + versions[v["version"]] = date print(f"{v['version']}: {date}") -endoflife.write_releases(PRODUCT, dict(sorted( - releases.items(), key=lambda x: list(map(int, x[0].split("."))) -))) +endoflife.write_releases(PRODUCT, versions) print("::endgroup::") diff --git a/src/unity.py b/src/unity.py index 76f003e6..ed422c90 100644 --- a/src/unity.py +++ b/src/unity.py @@ -30,14 +30,11 @@ def fetch_releases(releases, url) -> str: print(f"::group::{PRODUCT}") -all_releases = {} +all_versions = {} next_page_url = URL while next_page_url: - next_page_url = fetch_releases(all_releases, next_page_url) + next_page_url = fetch_releases(all_versions, next_page_url) -endoflife.write_releases(PRODUCT, dict( - # sort by version then date (asc) - sorted(all_releases.items(), key=lambda x: (x[0], x[1])) -)) +endoflife.write_releases(PRODUCT, all_versions) print("::endgroup::")