feat: [12] Auto-Merge per Label (Snapshot-frei) fuer PR-Triage #54
No reviewers
Labels
No labels
auto-merge
bug
chore
dependency
duplicate
enhancement
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
hobbypunk/rails-base_app!54
Loading…
Reference in a new issue
No description provided.
Delete branch "enhancement/12_auto_merge_label"
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?
Schließt die Auto-Merge-Snapshot-Falle aus der #12-Kette.
Problem
Beim Aktivieren des Auto-Merge über den UI-Dialog speichert Forgejo Titel + Message als Momentaufnahme – spätere PR-Umbenennungen (z. B. durch den Conventional-Title) erreichen den Squash-Commit nicht mehr. Einen geplanten Merge per API zu lesen gibt es nicht (nur HTML-Scraping – keine Option).
Lösung: Label als Source of Truth + planen ohne Titel
Neue Composite Action
pr-auto-merge, als dritter Schritt in der Triage-Kette:auto-merge-Label am PR → Schedule perPOST /pulls/{n}/mergemitmerge_when_checks_succeed: trueDELETEauf derselben Route cancelt den ScheduleBedienung ab jetzt
Statt des UI-Buttons (der bleibt technisch möglich, hat aber den Snapshot-Bug):
auto-merge-Label an den PR hängen – Labeler/Triage erledigen den Rest, und der Squash trägt immer den finalen konventionellen Titel.Das Label
auto-mergeexistiert im Repo bereits. 🏷️Getestet
6 Cases gegen Mock-API: Schedule (inkl. Prüfung, dass keine Titel-Felder im POST-Body stehen), Cancel bei Label-Entfernung, No-Op ohne Schedule, No-OP bei gemergtem PR, Konflikt-Warnung, Auth-Fehler.
[12] Auto-Merge per Label (Snapshot-frei) fuer PR-Triageto feat: [12] Auto-Merge per Label (Snapshot-frei) fuer PR-Triage📊 Coverage
Patch-Coverage: keine getrackten Zeilen geändert
Schwächste Dateien im Projekt
🔍 Report im Browser ansehen · 📄 Run-Artifact „coverage-report“