Reviewer: Merge-Queue Fehler + falsche "GitHub" Referenzen #343

Closed
opened 2026-03-02 13:48:19 +00:00 by jack · 0 comments
Owner

Problem

Reviewer zeigt mehrere Fehler beim Auto-Merge von PR #342.

Logs (02.03., 14:45:13)

[MERGE-QUEUE] Auto-merge failed for PR #342: GitHub merge failed
[MERGE-QUEUE] Error is not a conflict error, skipping conflict resolution
[MERGE-QUEUE] Merge still failed for PR #342 after branch update: "GitHub merge failed"
Failed to update PR #342 branch: HttpError
Forgejo update branch failed for PR #342: 422 {"message":"%!s(<nil>)","url":"https://git.customable.host/api/swagger"}
[MERGE-QUEUE] Merge failed for PR #342, updating branch...
Failed to merge PR #342 via GitHub
Received issue_comment event: created
Loaded repo config: customable-claude-mem.json

Probleme

1. "GitHub merge failed" - Falsche Plattform-Referenz

Code sagt: "GitHub merge failed"
Realität: Das ist Forgejo, nicht GitHub!

Betroffen:

  • Auto-merge failed for PR #342: GitHub merge failed
  • Merge still failed for PR #342 after branch update: "GitHub merge failed"
  • Failed to merge PR #342 via GitHub

Fix: Alle "GitHub" Referenzen durch "Forgejo" oder generisch "Git platform" ersetzen.

2. 422 Error beim Branch-Update

Forgejo update branch failed for PR #342: 422 {"message":"%!s(<nil>)"}

Analyse:

  • HTTP 422 = Unprocessable Entity
  • Error-Message: "%!s(<nil>)" = Null-Pointer-Error in Go String-Formatting
  • API-Endpoint: /api/swagger (vermutlich falsch)

Mögliche Ursachen:

  • Forgejo API-Endpoint falsch
  • Request-Body ungültig
  • Branch bereits up-to-date
  • Permissions fehlen

3. Null-Pointer in Error-Message

"%!s(<nil>)" deutet auf ungültigen Error-Handling in Go hin:

// Vermutlich so:
fmt.Sprintf("%s", nil) // ❌ Produziert "%!s(<nil>)"

// Sollte sein:
if err != nil {
    fmt.Sprintf("%s", err.Error())
}

Erwartetes Verhalten

  1. Korrekte Plattform-Namen in Logs (Forgejo, nicht GitHub)
  2. Aussagekräftige Error-Messages (nicht %!s(<nil>))
  3. Erfolgreicher Auto-Merge oder klare Fehlermeldung warum es fehlschlägt

Auswirkungen

  • Verwirrende Logs: "GitHub" obwohl es Forgejo ist
  • Debugging unmöglich: %!s(<nil>) sagt nichts aus
  • Auto-Merge broken: PR #342 konnte nicht gemerged werden

Technische Details

Zu prüfen:

  • Reviewer-Code: Wo sind "GitHub" Strings hardcoded?
  • Forgejo API: Welcher Endpoint für Branch-Update? (/api/v1/repos/{owner}/{repo}/pulls/{index}/update)
  • Error-Handling: Wo wird nil Error formatiert?

Betroffene Komponenten:

  • Merge-Queue-Logic
  • Forgejo API Client
  • Error-Handling/Logging

Logs Context

  • Repo: customable/claude-mem
  • PR: #342
  • Event: issue_comment created
  • Timestamp: 02.03., 14:45:12-13

Lösungsansätze

1. Plattform-Referenzen fixen

- Auto-merge failed for PR #342: GitHub merge failed
+ Auto-merge failed for PR #342: Forgejo merge failed

2. Null-Pointer-Check

if err != nil {
    log.Printf("Merge failed: %v", err)
} else {
    log.Printf("Merge failed: unknown error")
}

3. Korrekter API-Endpoint

POST /api/v1/repos/customable/claude-mem/pulls/342/update
  • PR #342 (wo der Fehler auftrat)
  • Reviewer-System generell

Labels

  • bug
  • component:reviewer
  • component:merge-queue
  • priority:medium (Auto-Merge funktioniert nicht)
## Problem Reviewer zeigt mehrere Fehler beim Auto-Merge von PR #342. ### Logs (02.03., 14:45:13) ``` [MERGE-QUEUE] Auto-merge failed for PR #342: GitHub merge failed [MERGE-QUEUE] Error is not a conflict error, skipping conflict resolution [MERGE-QUEUE] Merge still failed for PR #342 after branch update: "GitHub merge failed" Failed to update PR #342 branch: HttpError Forgejo update branch failed for PR #342: 422 {"message":"%!s(<nil>)","url":"https://git.customable.host/api/swagger"} [MERGE-QUEUE] Merge failed for PR #342, updating branch... Failed to merge PR #342 via GitHub Received issue_comment event: created Loaded repo config: customable-claude-mem.json ``` ## Probleme ### 1. ❌ "GitHub merge failed" - Falsche Plattform-Referenz **Code sagt:** "GitHub merge failed" **Realität:** Das ist **Forgejo**, nicht GitHub! **Betroffen:** - `Auto-merge failed for PR #342: GitHub merge failed` - `Merge still failed for PR #342 after branch update: "GitHub merge failed"` - `Failed to merge PR #342 via GitHub` **Fix:** Alle "GitHub" Referenzen durch "Forgejo" oder generisch "Git platform" ersetzen. ### 2. ❌ 422 Error beim Branch-Update ``` Forgejo update branch failed for PR #342: 422 {"message":"%!s(<nil>)"} ``` **Analyse:** - HTTP 422 = Unprocessable Entity - Error-Message: `"%!s(<nil>)"` = **Null-Pointer-Error** in Go String-Formatting - API-Endpoint: `/api/swagger` (vermutlich falsch) **Mögliche Ursachen:** - Forgejo API-Endpoint falsch - Request-Body ungültig - Branch bereits up-to-date - Permissions fehlen ### 3. ❌ Null-Pointer in Error-Message `"%!s(<nil>)"` deutet auf ungültigen Error-Handling in Go hin: ```go // Vermutlich so: fmt.Sprintf("%s", nil) // ❌ Produziert "%!s(<nil>)" // Sollte sein: if err != nil { fmt.Sprintf("%s", err.Error()) } ``` ## Erwartetes Verhalten 1. **Korrekte Plattform-Namen** in Logs (Forgejo, nicht GitHub) 2. **Aussagekräftige Error-Messages** (nicht `%!s(<nil>)`) 3. **Erfolgreicher Auto-Merge** oder klare Fehlermeldung warum es fehlschlägt ## Auswirkungen - **Verwirrende Logs:** "GitHub" obwohl es Forgejo ist - **Debugging unmöglich:** `%!s(<nil>)` sagt nichts aus - **Auto-Merge broken:** PR #342 konnte nicht gemerged werden ## Technische Details **Zu prüfen:** - Reviewer-Code: Wo sind "GitHub" Strings hardcoded? - Forgejo API: Welcher Endpoint für Branch-Update? (`/api/v1/repos/{owner}/{repo}/pulls/{index}/update`) - Error-Handling: Wo wird `nil` Error formatiert? **Betroffene Komponenten:** - Merge-Queue-Logic - Forgejo API Client - Error-Handling/Logging ## Logs Context - **Repo:** customable/claude-mem - **PR:** #342 - **Event:** issue_comment created - **Timestamp:** 02.03., 14:45:12-13 ## Lösungsansätze ### 1. Plattform-Referenzen fixen ```diff - Auto-merge failed for PR #342: GitHub merge failed + Auto-merge failed for PR #342: Forgejo merge failed ``` ### 2. Null-Pointer-Check ```go if err != nil { log.Printf("Merge failed: %v", err) } else { log.Printf("Merge failed: unknown error") } ``` ### 3. Korrekter API-Endpoint ``` POST /api/v1/repos/customable/claude-mem/pulls/342/update ``` ## Related - PR #342 (wo der Fehler auftrat) - Reviewer-System generell ## Labels - `bug` - `component:reviewer` - `component:merge-queue` - `priority:medium` (Auto-Merge funktioniert nicht)
jack closed this issue 2026-03-02 13:49:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
customable/claude-mem#343
No description provided.