diff --git a/build.py b/build.py index 59ad862..254bb9b 100644 --- a/build.py +++ b/build.py @@ -9,15 +9,52 @@ Usage: """ import os +import re import sys import shutil import platform # Add project root -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, PROJECT_DIR) + + +def auto_bump_version() -> str: + """Auto-increment patch version in version.py on every build.""" + ver_file = os.path.join(PROJECT_DIR, "version.py") + with open(ver_file, "r", encoding="utf-8") as f: + content = f.read() + + match = re.search(r'__version__\s*=\s*"(\d+)\.(\d+)\.(\d+)"', content) + if not match: + print("ERROR: Cannot parse version from version.py") + sys.exit(1) + + major, minor, patch = int(match.group(1)), int(match.group(2)), int(match.group(3)) + new_patch = patch + 1 + new_version = f"{major}.{minor}.{new_patch}" + + content = re.sub( + r'__version__\s*=\s*"[\d.]+"', + f'__version__ = "{new_version}"', + content, + ) + with open(ver_file, "w", encoding="utf-8") as f: + f.write(content) + + print(f"Version bumped: {major}.{minor}.{patch} -> {new_version}") + return new_version + + +# Auto-bump unless --no-bump flag is passed +if "--no-bump" not in sys.argv: + _version = auto_bump_version() +else: + sys.argv.remove("--no-bump") + _version = None + from version import __version__, __app_name__ -PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) DIST_DIR = os.path.join(PROJECT_DIR, "dist") BUILD_DIR = os.path.join(PROJECT_DIR, "build") RELEASES_DIR = os.path.join(PROJECT_DIR, "releases") diff --git a/releases/ServerManager-v1.8.8-win-x64.exe b/releases/ServerManager-v1.8.8-win-x64.exe new file mode 100644 index 0000000..53d2450 Binary files /dev/null and b/releases/ServerManager-v1.8.8-win-x64.exe differ diff --git a/version.py b/version.py index fd53ad0..abe4893 100644 --- a/version.py +++ b/version.py @@ -1,6 +1,6 @@ """Version info for ServerManager.""" -__version__ = "1.8.7" +__version__ = "1.8.8" __app_name__ = "ServerManager" __author__ = "aibot777" __description__ = "Desktop GUI for managing remote servers"