Release-Ablauf (TinyCorn Studio Standard)
Anwenden, wenn der Nutzer sagt: "Release", "vX.Y.Z veröffentlichen", "neue Version auf Git pushen", "Installer bauen + Release". Führe den gesamten Ablauf aus, frage nicht jeden Schritt erneut ab, es sei denn, es wird eine Unregelmäßigkeit festgestellt.
Voraussetzungen
- Das Repository hat eine
CHANGELOG.md(Keep a Changelog) mit einem Eintrag## [<version>] - <date>für die bevorstehende Version. - Das Repository hat ein Build-Skript für den Installer (üblicherweise
make-app.shmit der VariableVERSION). ghist eingeloggt mitrepo-Berechtigung.- Der Working Tree ist sauber (alle Features sind committed).
Schritte
1. Version erhöhen (einzige Quelle)
sed -i '' -E 's/^(VERSION=).*/\1"0.5.0"/' make-app.sh
2. Installer bauen
./make-app.sh
ls -lh dist/
3. CHANGELOG.md aktualisieren
Füge einen neuen Eintrag oben hinzu (gemäß Keep a Changelog):
## [0.5.0] - 2026-10-18
### Added
- ...
### Fixed
- ...
4. Comitten
git add -A
git commit -m "Release v0.5.0"
5. In main mergen (falls man sich auf einem Feature-Branch befindet)
git checkout main && git merge --ff-only <feature-branch>
6. Annotierten Tag erstellen + pushen
git tag -a v0.5.0 -m "v0.5.0"
git push origin main --tags
7. GitHub Release mit Installer-Datei erstellen
Verfasse die Release-Notes auf Vietnamesisch (Zusammenfassung + Abschnitt "Was gibt es Neues" + "Installation"), speichere sie in einer temporären Datei und führe dann aus:
gh release create v0.5.0 dist/<App>-0.5.0.dmg \
--title "v0.5.0 — <Zusammenfassung>" \
--notes-file /tmp/release_notes_v0.5.0.md
8. Verifizieren
gh release view v0.5.0
Überprüfe: Tag zeigt auf den richtigen Commit, Asset wurde hochgeladen, Notes werden korrekt angezeigt.
Automatisierungsskript
Dieses Repository enthält scripts/release.sh, das die Schritte 1→7 für macOS-Tools, die make-app.sh verwenden, ausführt:
./scripts/release.sh 0.5.0
Regeln
- KEINE Installer-Dateien (DMG, ZIP) committen – nur an GitHub Releases anhängen.
dist/muss in.gitignorestehen. - CHANGELOG und README müssen im selben Release aktualisiert werden.
- Tags sind immer annotated Tags, Format
vX.Y.Z(SemVer). - Release-Notes auf Vietnamesisch, mit Anleitung zum Öffnen der App, falls sie nicht signiert ist (Rechtsklick → Öffnen).
- Falls Push mit 403 fehlschlägt:
gh auth statusprüfen,gh auth setup-gitausführen, sicherstellen, dass der Token Berechtigung für die Organisation hat.