Generate announcement links in release script (#12242)

This commit is contained in:
David Robertson 2022-03-17 13:46:05 +00:00 committed by GitHub
parent 9e06e22064
commit 12d1f82db2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 1 deletions

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

@ -0,0 +1 @@
Generate announcement links in the release script.

View File

@ -66,11 +66,15 @@ def cli():
./scripts-dev/release.py tag ./scripts-dev/release.py tag
# ... wait for asssets to build ... # ... wait for assets to build ...
./scripts-dev/release.py publish ./scripts-dev/release.py publish
./scripts-dev/release.py upload ./scripts-dev/release.py upload
# Optional: generate some nice links for the announcement
./scripts-dev/release.py upload
If the env var GH_TOKEN (or GITHUB_TOKEN) is set, or passed into the If the env var GH_TOKEN (or GITHUB_TOKEN) is set, or passed into the
`tag`/`publish` command, then a new draft release will be created/published. `tag`/`publish` command, then a new draft release will be created/published.
""" """
@ -415,6 +419,41 @@ def upload():
) )
@cli.command()
def announce():
"""Generate markdown to announce the release."""
current_version, _, _ = parse_version_from_module()
tag_name = f"v{current_version}"
click.echo(
f"""
Hi everyone. Synapse {current_version} has just been released.
[notes](https://github.com/matrix-org/synapse/releases/tag/{tag_name}) |\
[docker](https://hub.docker.com/r/matrixdotorg/synapse/tags?name={tag_name}) | \
[debs](https://packages.matrix.org/debian/) | \
[pypi](https://pypi.org/project/matrix-synapse/{current_version}/)"""
)
if "rc" in tag_name:
click.echo(
"""
Announce the RC in
- #homeowners:matrix.org (Synapse Announcements)
- #synapse-dev:matrix.org"""
)
else:
click.echo(
"""
Announce the release in
- #homeowners:matrix.org (Synapse Announcements), bumping the version in the topic
- #synapse:matrix.org (Synapse Admins), bumping the version in the topic
- #synapse-dev:matrix.org
- #synapse-package-maintainers:matrix.org"""
)
def parse_version_from_module() -> Tuple[ def parse_version_from_module() -> Tuple[
version.Version, redbaron.RedBaron, redbaron.Node version.Version, redbaron.RedBaron, redbaron.Node
]: ]: