summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2022-12-17 18:17:28 -0800
committerBernát Gábor <bgabor8@bloomberg.net>2022-12-17 18:17:28 -0800
commit45e2c29e1681e9f69b72e49358a10b83f535edf9 (patch)
treebc5402e9f8d6fd5c1ffcefee4001a9c35d56d951
parent864332fb4cb8f32cd30b314db1d5f08e4ca65ce6 (diff)
downloadtox-git-45e2c29e1681e9f69b72e49358a10b83f535edf9.tar.gz
Update release branch
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
-rw-r--r--tasks/release.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/tasks/release.py b/tasks/release.py
index bc5ba33d..d614e208 100644
--- a/tasks/release.py
+++ b/tasks/release.py
@@ -17,12 +17,19 @@ def main(version_str: str) -> None:
if repo.is_dirty():
raise RuntimeError("Current repository is dirty. Please commit any changes and try again.")
upstream, release_branch = create_release_branch(repo, version)
- release_commit = release_changelog(repo, version)
- tag = tag_release_commit(release_commit, repo, version)
- print("push release commit")
- repo.git.push(upstream.name, release_branch)
- print("push release tag")
- repo.git.push(upstream.name, tag)
+ try:
+ release_commit = release_changelog(repo, version)
+ tag = tag_release_commit(release_commit, repo, version)
+ print("push release commit")
+ repo.git.push(upstream.name, f"{release_branch}:main", "-f")
+ print("push release tag")
+ repo.git.push(upstream.name, tag, "-f")
+ finally:
+ print("checkout main to new release and delete release branch")
+ repo.heads.main.checkout()
+ repo.delete_head(release_branch)
+ upstream.fetch()
+ repo.git.reset("--hard upstream/main")
print("All done! ✨ 🍰 ✨")