From 36b2a228e4399fc119e9162890abdc937896ef39 Mon Sep 17 00:00:00 2001 From: maria Date: Mon, 6 Jul 2026 06:55:24 +0000 Subject: [PATCH] Update .gitea/workflows/opencode.yml --- .gitea/workflows/opencode.yml | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/opencode.yml b/.gitea/workflows/opencode.yml index 9c6956e..0746325 100644 --- a/.gitea/workflows/opencode.yml +++ b/.gitea/workflows/opencode.yml @@ -312,11 +312,36 @@ jobs: echo "Nessuna PR o nessuna review da postare." exit 0 fi + + # Il verdetto guida lo stato nativo della review. + if grep -q 'VERDICT: PASS' /tmp/review.txt; then + EVENT="APPROVE" + else + EVENT="REQUEST_CHANGES" + fi + BODY=$(jq -Rs . < /tmp/review.txt) # encoding JSON-safe del testo review - curl -s -X POST "$API/pulls/$PR_NUMBER/reviews" \ - -H "Authorization: token $GITEA_TOKEN" \ - -H "Content-Type: application/json" \ - -d "{\"body\":$BODY,\"event\":\"COMMENT\"}" >/dev/null || true + + post_review() { + curl -s -o /tmp/review_resp.json -w '%{http_code}' \ + -X POST "$API/pulls/$PR_NUMBER/reviews" \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{\"body\":$BODY,\"event\":\"$1\"}" + } + + CODE=$(post_review "$EVENT") + echo "Review '$EVENT' -> HTTP $CODE" + + # Gitea rifiuta APPROVE/REQUEST_CHANGES sulla PR di cui il bot รจ autore: + # in quel caso ripiega su un commento di review (event=COMMENT). + if [ "$CODE" -ge 300 ]; then + echo "Fallback a event=COMMENT (probabile self-review su PR del bot). Risposta:" + cat /tmp/review_resp.json 2>/dev/null || true + echo + CODE=$(post_review "COMMENT") + echo "Review 'COMMENT' -> HTTP $CODE" + fi - name: Reazione finale ๐Ÿš€ if: success() && steps.react.outputs.path != ''