Merge pull request '@junior: publish.sh: PR-creation and push failures are silently swallowed' (#113) from ai/issue-112 into main
ci / lint (push) Successful in 32s
ci / lint (push) Successful in 32s
This commit was merged in pull request #113.
This commit is contained in:
@@ -334,7 +334,14 @@ if [ -n "$(git status --porcelain)" ]; then
|
||||
git add -A
|
||||
git commit -m "@$NAME: issue #$NUM"
|
||||
fi
|
||||
git push origin "HEAD:$BRANCH" || true
|
||||
if git push origin "HEAD:$BRANCH"; then
|
||||
:
|
||||
else
|
||||
status=$?
|
||||
echo "git push failed for $BRANCH (exit $status)"
|
||||
post "$(printf '⚠️ Push to branch `%s` failed (git exit %s). The PR will not open until the push succeeds. Please check the Actions log.%s' "$BRANCH" "$status" "$activity")"
|
||||
exit 0
|
||||
fi
|
||||
git fetch -q origin 2>/dev/null || true
|
||||
|
||||
prbody=$(printf '%s\n\n---\nResolves #%s' "$prdesc" "$NUM")
|
||||
@@ -360,14 +367,21 @@ url=$(printf '%s' "$resp" | jq -r '.html_url // empty' 2>/dev/null)
|
||||
prnum=$(printf '%s' "$resp" | jq -r '.number // empty' 2>/dev/null)
|
||||
if [ -z "$url" ]; then
|
||||
title="@$NAME: $TITLE"
|
||||
resp=$(curl -sS -X POST "${hdr[@]}" "$API/pulls" \
|
||||
resp_body=/tmp/pr_create_resp.json
|
||||
http_status=$(curl -sS -o "$resp_body" -w '%{http_code}' -X POST "${hdr[@]}" "$API/pulls" \
|
||||
-d "$(jq -nc --arg t "$title" --arg h "$br" --arg b "$prbody" \
|
||||
'{title:$t, head:$h, base:"main", body:$b}')")
|
||||
echo "PR create ($br): $resp"
|
||||
resp=$(cat "$resp_body" 2>/dev/null || true)
|
||||
echo "PR create ($br): HTTP $http_status — $resp"
|
||||
url=$(printf '%s' "$resp" | jq -r '.html_url // empty' 2>/dev/null)
|
||||
prnum=$(printf '%s' "$resp" | jq -r '.number // empty' 2>/dev/null)
|
||||
fi
|
||||
[ -z "$url" ] && { echo "PR open/lookup failed for $br — posting reply on issue instead"; post "$(printf '%s%s' "$reply" "$activity")"; exit 0; }
|
||||
if [ -z "$url" ]; then
|
||||
err_msg=$(printf '%s' "$resp" | jq -r 'if type=="object" and .message then .message else "(no error message in response)" end' 2>/dev/null)
|
||||
echo "PR open/lookup failed for $br — HTTP $http_status — response: $resp"
|
||||
post "$(printf '⚠️ Failed to open PR for branch `%s`.\n\nHTTP status: %s\nGitea message: %s%s' "$br" "$http_status" "$err_msg" "$activity")"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Posts to the PR thread when we have a PR number, else to the origin issue ($NUM).
|
||||
prpost() {
|
||||
|
||||
Reference in New Issue
Block a user