Langchain-Chatchat/release.py

51 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import subprocess
import re
def get_latest_tag():
output = subprocess.check_output(['git', 'tag'])
tags = output.decode('utf-8').split('\n')[:-1]
latest_tag = sorted(tags, key=lambda t: tuple(map(int, re.match(r'v(\d+)\.(\d+)\.(\d+)', t).groups())))[-1]
return latest_tag
def update_version_number(latest_tag, increment):
major, minor, patch = map(int, re.match(r'v(\d+)\.(\d+)\.(\d+)', latest_tag).groups())
if increment == 'X':
major += 1
minor, patch = 0, 0
elif increment == 'Y':
minor += 1
patch = 0
elif increment == 'Z':
patch += 1
new_version = f"v{major}.{minor}.{patch}"
return new_version
def main():
print("当前最近的Git标签")
latest_tag = get_latest_tag()
print(latest_tag)
print("请选择要递增的版本号部分X, Y, Z")
increment = input().upper()
while increment not in ['X', 'Y', 'Z']:
print("输入错误请输入X, Y或Z")
increment = input().upper()
new_version = update_version_number(latest_tag, increment)
print(f"新的版本号为:{new_version}")
print("确认更新版本号并推送到远程仓库y/n")
confirmation = input().lower()
if confirmation == 'y':
subprocess.run(['git', 'tag', new_version])
subprocess.run(['git', 'push', 'origin', new_version])
print("新版本号已创建并推送到远程仓库。")
else:
print("操作已取消。")
if __name__ == '__main__':
main()