Skip to content

Commit 236160a

Browse files
committed
pull latest tag after creating release
1 parent 743f733 commit 236160a

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

scripts/release.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,42 @@ def get_version_increment_type(last_version):
3838
return parsed_subjects.increment_type()
3939

4040

41-
def release():
42-
"""Creates a github release."""
41+
def pull_latest_and_verify(expected_version_tag):
42+
check_output(["git", "pull"])
43+
latest_version = get_current_version()
44+
if latest_version != expected_version_tag:
45+
raise ValueError(f"Expected {expected_version_tag} to be latest tag, but was {latest_version}")
4346

47+
48+
def get_current_version():
4449
# get the last release tag
4550
stdout = check_output(["git", "describe", "--abbrev=0", "--tags"])
4651
stdout = stdout.decode("utf-8")
4752
last_version = stdout.strip()
53+
return last_version
54+
4855

49-
if not recent_changes_to_src(last_version):
56+
def release():
57+
"""Creates a github release."""
58+
latest_version = get_current_version()
59+
print(f"Current version is {latest_version}")
60+
61+
if not recent_changes_to_src(latest_version):
5062
print("Nothing to release.")
5163
exit(1)
5264
return
5365

54-
changes = get_changes(last_version)
66+
changes = get_changes(latest_version)
67+
68+
increment_type = get_version_increment_type(latest_version)
5569

56-
increment_type = get_version_increment_type(last_version)
70+
next_version = get_next_version(latest_version, increment_type)
5771

58-
next_version = get_next_version(last_version, increment_type)
72+
manager = ReleaseManager(next_version, changes)
73+
tag_created = manager.create_release()
5974

60-
manager = ReleaseManager(str(next_version), changes)
61-
manager.create_release()
75+
# pull the new tag that was just created
76+
pull_latest_and_verify(tag_created)
6277

6378

6479
def main():

scripts/release_manager.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ def create_release(self):
2323
repo.create_git_release(tag=tag, name=name, message=message, draft=False, prerelease=False)
2424
print(f"Created release {name}")
2525
print(f"See it at https://github.com/{self._repo}/releases")
26+
return tag

0 commit comments

Comments
 (0)