Die Anwendung zeigte immer Version "1.2.1" an, obwohl neuere GitHub Releases existierten.
__version__.py- Dedicated version fileVERSION- Plain text version filepyproject.toml- Project configuration- Git Tags - Latest repository tag
- Fallback - Default version (1.9.0)
def get_version():
"""Ermittelt die aktuelle Version dynamisch"""
# 1. __version__.py Import
# 2. VERSION Datei lesen
# 3. pyproject.toml parsen
# 4. Git-Tag ermitteln (git describe --tags --abbrev=0)
# 5. Fallback zu "1.9.0"- ✅
VERSION: 1.9.1 - ✅
__version__.py: 1.9.1 - ✅
pyproject.toml: 1.9.1 - ✅ Git Tag: v1.9.1
- GitHub Actions erstellt neuen Tag
- Versionsdateien werden automatisch aktualisiert
- App zeigt korrekte Version an
# Neuer Release wird erstellt → v1.9.2
# Automatisch synchronisiert:
echo "1.9.2" > VERSION
sed -i 's/__version__ = ".*"/__version__ = "1.9.2"/' __version__.py
sed -i 's/version = ".*"/version = "1.9.2"/' pyproject.tomlpython3 -c "from bash_script_maker import __version__; print(__version__)"- Header zeigt: "Version 1.9.1 - Professioneller Bash-Script-Generator"
- About-Dialog zeigt: "Version: 1.9.1"
- Tooltips zeigen: "Bash-Script-Maker v1.9.1"
def get_latest_github_version():
import requests
api_url = "https://api.github.com/repos/securebitsorg/Bash-Script-Maker/releases/latest"
# Hole neueste Release-Version# .github/workflows/sync-version.yml
on:
release:
types: [published]
jobs:
sync-version:
- name: Update version files
- name: Commit changes- 🎯 Immer aktuelle Version in der App
- 🔄 Automatische Synchronisation mit GitHub
- 🛡️ Mehrere Fallback-Optionen für Robustheit
- 📦 Konsistente Versionierung über alle Dateien
- 🧪 Einfache Testbarkeit der Versionslogik
Version Management implementiert in v1.9.1 🚀