Release-Version automatisch hochzaehlen statt fix 1.0.0 #7
Labels
No labels
blocked
claude
in-progress
needs-review
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
aiways/Backend#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem: Release-Tags sind immer
v1.0.0-<sha>— die Versionsnummer bleibt fix auf1.0.0, nur der Commit-SHA aendert sich.Ziel: Tag-Schema auf auto-hochzaehlend:
v<major>.<minor>.<build>major.minorweiterhin auspackage.json(Entwickler steuert Major/Minor dort).build=git rev-list --count HEAD(monoton, zaehlt automatisch hoch).Akzeptanz:
v1.0.31stattv1.0.0-<sha>; Tag eindeutig + hoeher als vorher.package.jsonauf1.1.0-> Tagsv1.1.<build>.Umgesetzt in
6d1a8b1(release) — und direkt am eigenen Release nachgewiesen.Der Release dieses Commits trägt den Tag
v1.0.33:Zum Vergleich der vorige:
v1.0.0-e5ea822.Umsetzung
major.minorauspackage.json(unverändert bei1.0.0, steuerst du weiter von Hand).build=git rev-list --count HEAD.Ein Detail, das sonst still danebengegangen wäre:
actions/checkoutholt standardmäßig einen flachen Klon mit Tiefe 1 —rev-list --counthätte damit immer1gezählt und jeder Release hießev1.0.1. Der Checkout im Release-Job läuft deshalb jetzt mitfetch-depth: 0.Akzeptanzkriterien
v1.0.<build>stattv1.0.0-<sha>package.jsonauf1.1.0→v1.1.<build>v1.1.31✅Die Tag-Logik habe ich vor dem Push 1:1 als Shell-Schnipsel durchlaufen lassen (
1.0.0→v1.0.31,1.1.0→v1.1.31,2.5.7→v2.5.31— die Patch-Stelle inpackage.jsonwird also durchbuildersetzt) undpackage.jsondanach unverändert gelassen. YAML des Workflows gegengeprüft, alle fünf Jobs intakt.Dass es am Ende
v1.0.33und nichtv1.0.31wurde, liegt schlicht an den zwei Commits, die seither dazugekommen sind — genau das soll die Build-Nummer ja tun.