diff --git a/.docker/check_lib_versions.py b/.docker/check_lib_versions.py index 9cb9ee26..8c396931 100755 --- a/.docker/check_lib_versions.py +++ b/.docker/check_lib_versions.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 -import requests +import json +import subprocess # List of GitHub repositories in 'author/project' format repositories = [ @@ -7,7 +8,9 @@ repositories = [ "xiph/flac", "libunwind/libunwind", "google/benchmark", + "boostorg/boost", "openssl/openssl", + "libressl/portable", "jeremy-rifkin/cpptrace", "google/double-conversion", "fmtlib/fmt", @@ -17,31 +20,35 @@ repositories = [ "google/brotli", "facebook/zstd", "libfuse/libfuse", - "microsoft/mimalloc", - "boostorg/boost", + # "microsoft/mimalloc", + "jemalloc/jemalloc", + "tukaani-project/xz", ] + # Function to fetch the latest release information for a repository def get_latest_release(repo): - url = f"https://api.github.com/repos/{repo}/releases/latest" - response = requests.get(url) + result = subprocess.run( + ["gh", "api", f"repos/{repo}/releases/latest"], capture_output=True, text=True + ) - if response.status_code == 200: - release = response.json() - tag_name = release['tag_name'] - release_date = release['published_at'] + if result.returncode == 0: + release = json.loads(result.stdout) + tag_name = release["tag_name"] + release_date = release["published_at"] return tag_name, release_date - else: - print(f"Failed to fetch data for {repo}") - return None, None + + print(f"Failed to fetch data for {repo}") + return None, None + # Fetch the latest release information for each repository for repo in repositories: version, release_date = get_latest_release(repo) if version and release_date: - [author, project] = repo.split('/') - date = release_date.split('T')[0] - version = version.replace(f"{project}-", "").lstrip('v') - project = project.replace('-', '_').upper() + [author, project] = repo.split("/") + date = release_date.split("T")[0] + version = version.replace(f"{project}-", "").lstrip("v") + project = project.replace("-", "_").upper() version_var = f"{project}_VERSION={version}" print(f"{version_var:<40} # {date}")