22import subprocess
33import datetime
44import sys
5-
5+ import os
66
77def read_version () -> str :
88 with open ("VERSION" , "r" ) as file :
@@ -15,14 +15,21 @@ def write_version(version: str) -> None:
1515
1616
1717def add_changelog_record (version : str ) -> None :
18+ editor = os .environ .get ('EDITOR' , 'TextEdit' )
1819 today = datetime .date .today ()
1920 formatted = today .strftime ("%d.%m.%Y" )
20- with open ("CHANGELOG.md" , "r" , encoding = "utf-8" ) as file :
21- prev = file .read ()
22- prev = f"\n ## { version } - { formatted } \n ### Added\n -" + prev
21+ prev : str = ""
22+
23+ with open ("CHANGELOG.md" , "r" , encoding = "UTF-8" ) as readFile :
24+ prev = readFile .read ()
25+ prev = f"\n ## { version } - { formatted } \n ### Added\n -\n " + prev
26+
27+ with open ("CHANGELOG.md" , "w" , encoding = "utf-8" ) as writeFile :
28+ writeFile .write (prev )
2329
24- with open ("CHANGELOG.md" , "w" , encoding = "utf-8" ) as file :
25- file .write (prev )
30+ exit_code = subprocess .Popen ([editor , "CHANGELOG.md" ]).wait ()
31+ if exit_code > 0 :
32+ print ("failed to update changelog" )
2633
2734
2835def bump (current : str , part : str ) -> str :
@@ -45,7 +52,7 @@ def git_tag(version) -> None:
4552 subprocess .run (["git" , "add" , "." ])
4653 subprocess .run (["git" , "commit" , "-m" , f"Release v{ version } " ])
4754 subprocess .run (["git" , "tag" , "-a" , f"v{ version } " , "-m" , f"Release v{ version } " ])
48- subprocess .run (["git" , "push" , "--follow-tags" ])
55+ # subprocess.run(["git", "push", "--follow-tags"])
4956
5057
5158def main () -> None :
@@ -61,6 +68,7 @@ def main() -> None:
6168 git_tag (new_version )
6269
6370 print (f"✔️ Bumped to v{ new_version } " )
71+ print ("to continue do `git push --follow-tags` to push to remote with your latest tags" )
6472
6573
6674if __name__ == "__main__" :
0 commit comments