Skip to content

Commit 17488b9

Browse files
committed
table-formatted diff for packages
1 parent 23dd7cf commit 17488b9

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/gardenlinux/github/__main__.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from gardenlinux.apt import DebsrcFile
2+
from gardenlinux.apt.package_repo_info import GardenLinuxRepo, compare_repo
23
from gardenlinux.features import CName
34
from gardenlinux.flavors import Parser as FlavorsParser
45
from gardenlinux.s3 import S3Artifacts
@@ -11,7 +12,6 @@
1112
import re
1213
import requests
1314
import shutil
14-
import subprocess
1515
import sys
1616
from git import Repo
1717
import textwrap
@@ -629,8 +629,7 @@ def release_notes_compare_package_versions_section(gardenlinux_version, package_
629629

630630
output += f"## Changes in Package Versions Compared to {previous_version}\n"
631631
output += "```diff\n"
632-
output += subprocess.check_output(['/usr/bin/env', 'bash', './hack/compare-apt-repo-versions.sh',
633-
previous_version, gardenlinux_version]).decode("utf-8")
632+
output += compare_apt_repo_versions(previous_version, gardenlinux_version)
634633
output += "```\n\n"
635634
elif patch == 0:
636635
output += f"## Full List of Packages in Garden Linux version {major}\n"
@@ -649,6 +648,19 @@ def release_notes_compare_package_versions_section(gardenlinux_version, package_
649648
return output
650649

651650

651+
def compare_apt_repo_versions(previous_version, current_version):
652+
previous_repo = GardenLinuxRepo(previous_version)
653+
current_repo = GardenLinuxRepo(current_version)
654+
pkg_diffs = sorted(compare_repo(previous_repo, current_repo), key=lambda t: t[0])
655+
656+
output = f"| Package | {previous_version} | {current_version} |\n"
657+
output += "|---------|--------------------|-------------------|\n"
658+
659+
for pkg in pkg_diffs:
660+
output += f"|{pkg[0]} | {pkg[1] if pkg[1] is not None else '-'} | {pkg[2] if pkg[2] is not None else '-'} |\n"
661+
return output
662+
663+
652664
def _get_package_list(gardenlinux_version):
653665
(path, headers) = urllib.request.urlretrieve(
654666
f'https://packages.gardenlinux.io/gardenlinux/dists/{gardenlinux_version}/main/binary-amd64/Packages.gz')

0 commit comments

Comments
 (0)