Game version in the menu: VERSION holds vYYYYMM-NNNNN, shown on the title screen and in the pause menu, tools/bump_version.py raises it with every change

This commit is contained in:
Richard Zink committed 2026-11-04 09:57:10 +01:00
1 parent 1ec7492189
commit dd4bb75b24
9 files changed
+86 -1

No files matched your search

+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env python3
"""Raise the game version in VERSION: vYYYYMM-NNNNN.
Run with every change to the game (the number counts the changes of the current month and
starts again at 00001 when the month turns). The version is shown on the title screen and in
the pause menu, and it is the version a savegame support question refers to.
"""
import datetime
import pathlib
import re
import sys
FILE = pathlib.Path(__file__).resolve().parent.parent / "VERSION"
PATTERN = re.compile(r"^v(\d{6})-(\d{1,5})$")
def main() -> int:
month = datetime.date.today().strftime("%Y%m")
current = FILE.read_text(encoding="utf-8").strip() if FILE.exists() else ""
match = PATTERN.match(current)
if match and match.group(1) == month:
number = int(match.group(2)) + 1
elif match: # a new month: count again from the first change
number = 1
elif current:
print(f"VERSION does not look like vYYYYMM-NNNNN: {current!r}", file=sys.stderr)
return 1
else:
number = 1
version = f"v{month}-{number:05d}"
FILE.write_text(version + "\n", encoding="utf-8")
if match:
print(f"{current} -> {version}")
else:
print(version)
return 0
if __name__ == "__main__":
sys.exit(main())