[debian] Add releaseDate for major releases (fixes #49)

Unfortunately major releases cannot be parse like point releases.
This commit is contained in:
Marc Wrobel
2022-12-19 14:42:00 +01:00
parent cb4761aee0
commit 634e8668d3
2 changed files with 34 additions and 6 deletions

View File

@@ -30,8 +30,30 @@ def clone_repository():
ret_code = call(f"git {git_opts} pull --depth 1 origin master", shell=True)
exit(-ret_code) if ret_code < 0 else None
def extract_major_releases(releases):
child = subprocess.Popen(
f"grep -RhE -A 1 '<define-tag pagetitle>Debian [0-9]+.+</q> released' {REPO_DIR}/english/News "
f"| cut -d '<' -f 2 "
f"| cut -d '>' -f 2 "
f"| grep -v -- '--'",
shell=True, stdout=subprocess.PIPE)
output = child.communicate()[0].decode('utf-8')
def extract_releases():
is_release_line = True
version = None
for line in output.split('\n'):
if line:
if is_release_line:
version = line.split(" ")[1]
is_release_line = False
else:
date = line
print(f"{date} : {version}")
releases[version] = date
is_release_line = True
def extract_point_releases(releases):
child = subprocess.Popen(
f"grep -Rh -B 10 '<define-tag revision>' {REPO_DIR}/english/News "
"| grep -Eo '(release_date>(.*)<|revision>(.*)<)' "
@@ -42,7 +64,6 @@ def extract_releases():
shell=True, stdout=subprocess.PIPE)
output = child.communicate()[0].decode('utf-8')
releases = {}
for line in output.split('\n'):
if line:
parts = line.split(' ')
@@ -51,17 +72,18 @@ def extract_releases():
print(f"{date} : {version}")
releases[version] = date
return dict(sorted(releases.items()))
def main():
print(f"::group::{PRODUCT}")
clone_repository()
releases = extract_releases()
releases = {}
extract_major_releases(releases)
extract_point_releases(releases)
print("::endgroup::")
with open(f"releases/{PRODUCT}.json", "w") as f:
f.write(json.dumps(releases, indent=2))
f.write(json.dumps(dict(sorted(releases.items())), indent=2))
if __name__ == '__main__':