workflow: aktualisiere bestehende Einträge im Changelog für vorhandene Versionen

This commit is contained in:
Manuel Weiser 2025-02-21 22:58:38 +01:00
parent 05a91cd8d8
commit 00554d0b09

View File

@ -122,29 +122,29 @@ def update_changelog():
f.write(updated_content) f.write(updated_content)
push_changes(version) push_changes(version)
else: else:
# Version existiert bereits, füge neue Einträge unter der existierenden Version ein # Version existiert bereits, aktualisiere die bestehenden Einträge
version_pattern = f"## \\[{version}\\] - \\d{{4}}-\\d{{2}}-\\d{{2}}" version_pattern = f"## \\[{version}\\] - \\d{{4}}-\\d{{2}}-\\d{{2}}"
next_version_pattern = "## \\[.*?\\] - \\d{4}-\\d{2}-\\d{2}" next_version_pattern = "## \\[.*?\\] - \\d{4}-\\d{2}-\\d{2}"
# Finde den Start der aktuellen Version # Finde den Start der aktuellen Version
version_match = re.search(version_pattern, content) version_match = re.search(version_pattern, content)
if version_match: if version_match:
version_start = version_match.end() version_start = version_match.start()
# Suche nach der nächsten Version # Suche nach der nächsten Version
next_version_match = re.search(next_version_pattern, content[version_start:]) next_version_match = re.search(next_version_pattern, content[version_start + 1:])
if next_version_match: if next_version_match:
# Füge zwischen aktueller und nächster Version ein # Ersetze den Inhalt zwischen aktueller und nächster Version
insert_pos = version_start + next_version_match.start() next_version_pos = version_start + 1 + next_version_match.start()
updated_content = content[:insert_pos] + "\n" + changelog_entry + content[insert_pos:] updated_content = content[:version_start] + changelog_entry + content[next_version_pos:]
else: else:
# Füge am Ende des Abschnitts ein # Wenn keine nächste Version existiert, ersetze bis zum Ende
updated_content = content[:version_start] + "\n" + changelog_entry + content[version_start:] updated_content = content[:version_start] + changelog_entry + "\n"
with open(changelog_path, 'w') as f: with open(changelog_path, 'w') as f:
f.write(updated_content) f.write(updated_content)
push_changes(version) push_changes(version)
print(f"Added new entries to existing version {version}") print(f"Updated entries for version {version}")
if __name__ == "__main__": if __name__ == "__main__":
update_changelog() update_changelog()