feat: [12] Release-Drafter (Calver + git-cliff) als Composite Action #52

Merged
hobbypunk merged 1 commit from enhancement/12_release_drafter into main 2026-09-27 15:59:39 +00:00
Owner

Letzter Baustein von #12. Schließt die Kette: Branch → Label → Conventional-Title → Squash-Commit → gruppierte Release-Notes.

Was drin ist

  • .github/actions/release-drafter/ – Composite Action, alles gebündelt:
    • git-cliff als existierendes Tool (v2.14.2, gepinnt, aus den offiziellen GitHub-Releases) – kein Changelog-Eigenbau
    • Calver vYYYY.M.N: N wird innerhalb des Monats hochgezählt, jeder Monat startet frisch
    • cliff.toml aus der Shared-Vorlage übernommen: Gruppierung nach Conventional-Typen (🚀 Features, 🐛 Bug Fixes, 📦 Abhängigkeiten & Build, ⚙️ Wartung, …)
    • Draft-Pflege per API: veraltete Drafts (anderes Tag) werden gelöscht, der aktuelle Draft wird angelegt oder aktualisiert
  • .github/workflows/release-drafter.yml – feuert bei Push auf main + workflow_dispatch; Checkout mit vollem Verlauf und Tags

Warum das mit eurer Kette zusammenspielt

  • Squash-Commits auf main tragen durch Conventional-Title saubere feat:/build:-Präfixe → git-cliff gruppiert sie automatisch richtig
  • Renovate-PRs: Label dependency → Titel build: ... → landen in „📦 Abhängigkeiten & Build`
  • Beim Publishen des Drafts entsteht der Tag, danach startet der nächste Zyklus automatisch

Lokal getestet

Vier Cases gegen einen gemockten Release-API-Server mit echtem git-cliff: Erst-Anlage (keine Tags), Versions-Bump, Draft-Update (PATCH), Aufräumen veralteter Drafts – inkl. Prüfung, dass der Changelog-Body die 🚀 Features-Gruppe enthält.

Der erste Run nach Merge wird den ersten Draft v2026.09.1 mit der bisherigen Feature-Historie anlegen. 🎉

closes #12

**Letzter Baustein von #12.** Schließt die Kette: Branch → Label → Conventional-Title → Squash-Commit → **gruppierte Release-Notes**. ## Was drin ist - `.github/actions/release-drafter/` – Composite Action, alles gebündelt: - **git-cliff als existierendes Tool** (v2.14.2, gepinnt, aus den offiziellen GitHub-Releases) – kein Changelog-Eigenbau - **Calver** `vYYYY.M.N`: N wird innerhalb des Monats hochgezählt, jeder Monat startet frisch - **cliff.toml** aus der Shared-Vorlage übernommen: Gruppierung nach Conventional-Typen (🚀 Features, 🐛 Bug Fixes, 📦 Abhängigkeiten & Build, ⚙️ Wartung, …) - Draft-Pflege per API: veraltete Drafts (anderes Tag) werden gelöscht, der aktuelle Draft wird angelegt oder aktualisiert - `.github/workflows/release-drafter.yml` – feuert bei Push auf main + `workflow_dispatch`; Checkout mit vollem Verlauf und Tags ## Warum das mit eurer Kette zusammenspielt - Squash-Commits auf main tragen durch Conventional-Title saubere `feat:`/`build:`-Präfixe → git-cliff gruppiert sie automatisch richtig - Renovate-PRs: Label `dependency` → Titel `build: ...` → landen in „📦 Abhängigkeiten & Build` - Beim Publishen des Drafts entsteht der Tag, danach startet der nächste Zyklus automatisch ## Lokal getestet Vier Cases gegen einen gemockten Release-API-Server mit echtem git-cliff: Erst-Anlage (keine Tags), Versions-Bump, Draft-Update (PATCH), Aufräumen veralteter Drafts – inkl. Prüfung, dass der Changelog-Body die 🚀 Features-Gruppe enthält. Der erste Run nach Merge wird den ersten Draft `v2026.09.1` mit der bisherigen Feature-Historie anlegen. 🎉 closes #12
[12] Release-Drafter (Calver + git-cliff) als Composite Action
All checks were successful
CI / scan_ruby (pull_request) Successful in 3m21s
CI / lint (pull_request) Successful in 2m26s
PR Triage / triage (pull_request) Successful in 3m36s
CI / system-test (pull_request) Successful in 6m18s
CI / test (pull_request) Successful in 6m29s
CI / coverage (pull_request) Successful in 46s
f4bae30cc7
---------

Co-Authored-By: opencode (Mistral GLM) <opencode-agent[bot]@hoppe-dev.eu>
hobbypunk scheduled this pull request to auto merge when all checks succeed 2026-09-27 15:32:14 +00:00
hobbypunk canceled auto merging this pull request when all checks succeed 2026-09-27 15:39:56 +00:00
forgejo-actions changed title from [12] Release-Drafter (Calver + git-cliff) als Composite Action to feat: [12] Release-Drafter (Calver + git-cliff) als Composite Action 2026-09-27 15:40:18 +00:00
hobbypunk scheduled this pull request to auto merge when all checks succeed 2026-09-27 15:42:22 +00:00
hobbypunk canceled auto merging this pull request when all checks succeed 2026-09-27 15:44:08 +00:00

📊 Coverage

Metrik Abdeckung
Zeilen 97.69% (2619/2681)
Branches 81.46% (637/782)
Methoden 96.95% (413/426)

Patch-Coverage: keine getrackten Zeilen geändert

Schwächste Dateien im Projekt

Datei Abdeckung
app/models/concerns/has_uuid_v7.rb 54.55%
app/components/form/select.rb 72.41%
app/components/layout/flash.rb 84.0%
app/components/concerns/actionable.rb 86.67%
app/components/layout/sidebar.rb 89.47%
app/controllers/settings/security_controller.rb 90.24%
app/controllers/sessions_controller.rb 90.32%
app/components/concerns/inferrable.rb 90.63%
app/components/users/avatar.rb 91.23%
app/controllers/settings/security/otps_controller.rb 91.67%

🔍 Report im Browser ansehen · 📄 Run-Artifact „coverage-report“

<!-- coverage-report --> ## 📊 Coverage | Metrik | Abdeckung | |---|---| | Zeilen | 97.69% (2619/2681) | | Branches | 81.46% (637/782) | | Methoden | 96.95% (413/426) | **Patch-Coverage**: keine getrackten Zeilen geändert **Schwächste Dateien im Projekt** | Datei | Abdeckung | |---|---| | app/models/concerns/has_uuid_v7.rb | 54.55% | | app/components/form/select.rb | 72.41% | | app/components/layout/flash.rb | 84.0% | | app/components/concerns/actionable.rb | 86.67% | | app/components/layout/sidebar.rb | 89.47% | | app/controllers/settings/security_controller.rb | 90.24% | | app/controllers/sessions_controller.rb | 90.32% | | app/components/concerns/inferrable.rb | 90.63% | | app/components/users/avatar.rb | 91.23% | | app/controllers/settings/security/otps_controller.rb | 91.67% | [🔍 Report im Browser ansehen](https://pages.hoppe-dev.eu/hobbypunk/rails-base_app/pr-52/coverage) · [📄 Run-Artifact „coverage-report“](https://code.hoppe-dev.eu/hobbypunk/rails-base_app/actions/runs/1542/artifacts/coverage-report)
hobbypunk deleted branch enhancement/12_release_drafter 2026-09-27 15:59:39 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
hobbypunk/rails-base_app!52
No description provided.