From 89528f36c4b833048a92d6134008f1a801b7dd50 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 1 Nov 2022 17:15:33 -0400 Subject: build: releases get a nicer pypi/install footer --- ci/github_releases.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) (limited to 'ci') diff --git a/ci/github_releases.py b/ci/github_releases.py index 9a36a586..5ba3d522 100644 --- a/ci/github_releases.py +++ b/ci/github_releases.py @@ -74,16 +74,11 @@ def get_releases(session, repo): releases = { r['tag_name']: r for r in github_paginated(session, url) } return releases -RELEASE_BODY_FMT = """ +RELEASE_BODY_FMT = """\ {relnote_text} ---- -PyPI page: [coverage {version}](https://pypi.org/project/coverage/{version}) - -To install: -``` -$ python3 -m pip install coverage=={version} -``` +:arrow_right:\xa0 PyPI page: [coverage {version}](https://pypi.org/project/coverage/{version}). +:arrow_right:\xa0 To install: `python3 -m pip install coverage=={version}` """ def release_for_relnote(relnote): @@ -101,22 +96,20 @@ def release_for_relnote(relnote): "prerelease": relnote["prerelease"], } -def create_release(session, repo, relnote): +def create_release(session, repo, release_data): """ Create a new GitHub release. """ - print(f"Creating {relnote['version']}") - data = release_for_relnote(relnote) - resp = session.post(RELEASES_URL.format(repo=repo), json=data) + print(f"Creating {release_data['name']}") + resp = session.post(RELEASES_URL.format(repo=repo), json=release_data) check_ok(resp) -def update_release(session, url, relnote): +def update_release(session, url, release_data): """ Update an existing GitHub release. """ - print(f"Updating {relnote['version']}") - data = release_for_relnote(relnote) - resp = session.patch(url, json=data) + print(f"Updating {release_data['name']}") + resp = session.patch(url, json=release_data) check_ok(resp) def update_github_releases(json_filename, repo): @@ -139,14 +132,15 @@ def update_github_releases(json_filename, repo): tag = relnote["version"] if not does_tag_exist(tag): continue + release_data = release_for_relnote(relnote) exists = tag in releases if not exists: - create_release(gh_session, repo, relnote) + create_release(gh_session, repo, release_data) else: release = releases[tag] - if release["body"] != relnote["text"]: + if release["body"] != release_data["body"]: url = release["url"] - update_release(gh_session, url, relnote) + update_release(gh_session, url, release_data) if __name__ == "__main__": update_github_releases(*sys.argv[1:3]) -- cgit v1.2.1