Change release script to update debian changelog for RCs (#10465)

This commit is contained in:
Erik Johnston 2021-07-27 11:59:15 +01:00 committed by GitHub
parent 6e2275649c
commit 92a882254b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 6 deletions

1
changelog.d/10465.misc Normal file
View File

@ -0,0 +1 @@
Fix release script to correctly version debian changelog when doing RCs.

View File

@ -139,6 +139,11 @@ def run():
# Switch to the release branch. # Switch to the release branch.
parsed_new_version = version.parse(new_version) parsed_new_version = version.parse(new_version)
# We assume for debian changelogs that we only do RCs or full releases.
assert not parsed_new_version.is_devrelease
assert not parsed_new_version.is_postrelease
release_branch_name = ( release_branch_name = (
f"release-v{parsed_new_version.major}.{parsed_new_version.minor}" f"release-v{parsed_new_version.major}.{parsed_new_version.minor}"
) )
@ -190,10 +195,19 @@ def run():
# Generate changelogs # Generate changelogs
subprocess.run("python3 -m towncrier", shell=True) subprocess.run("python3 -m towncrier", shell=True)
# Generate debian changelogs if its not an RC. # Generate debian changelogs
if not rc: if parsed_new_version.pre is not None:
# If this is an RC then we need to coerce the version string to match
# Debian norms, e.g. 1.39.0rc2 gets converted to 1.39.0~rc2.
base_ver = parsed_new_version.base_version
pre_type, pre_num = parsed_new_version.pre
debian_version = f"{base_ver}~{pre_type}{pre_num}"
else:
debian_version = new_version
subprocess.run( subprocess.run(
f'dch -M -v {new_version} "New synapse release {new_version}."', shell=True f'dch -M -v {debian_version} "New synapse release {debian_version}."',
shell=True,
) )
subprocess.run('dch -M -r -D stable ""', shell=True) subprocess.run('dch -M -r -D stable ""', shell=True)