fix: bug: dev-poll runs dev-agent synchronously, deadlocks polling loop and review-poll in same-container case (#693)
This commit is contained in:
parent
31399e193f
commit
0ae0e48817
1 changed files with 10 additions and 10 deletions
|
|
@ -468,7 +468,7 @@ if [ "$ORPHAN_COUNT" -gt 0 ]; then
|
||||||
|
|
||||||
if [ "${HAS_CHANGES:-0}" -gt 0 ]; then
|
if [ "${HAS_CHANGES:-0}" -gt 0 ]; then
|
||||||
log "issue #${ISSUE_NUM} has review feedback — spawning agent"
|
log "issue #${ISSUE_NUM} has review feedback — spawning agent"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (review fix)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (review fix)"
|
||||||
BLOCKED_BY_INPROGRESS=true
|
BLOCKED_BY_INPROGRESS=true
|
||||||
else
|
else
|
||||||
|
|
@ -560,7 +560,7 @@ if [ "$ORPHAN_COUNT" -gt 0 ]; then
|
||||||
else
|
else
|
||||||
# Direct merge failed (conflicts?) — fall back to dev-agent
|
# Direct merge failed (conflicts?) — fall back to dev-agent
|
||||||
log "falling back to dev-agent for PR #${HAS_PR} merge"
|
log "falling back to dev-agent for PR #${HAS_PR} merge"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (agent-merge)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (agent-merge)"
|
||||||
BLOCKED_BY_INPROGRESS=true
|
BLOCKED_BY_INPROGRESS=true
|
||||||
fi
|
fi
|
||||||
|
|
@ -578,7 +578,7 @@ if [ "$ORPHAN_COUNT" -gt 0 ]; then
|
||||||
BLOCKED_BY_INPROGRESS=false
|
BLOCKED_BY_INPROGRESS=false
|
||||||
else
|
else
|
||||||
log "issue #${ISSUE_NUM} PR #${HAS_PR} has REQUEST_CHANGES — spawning agent"
|
log "issue #${ISSUE_NUM} PR #${HAS_PR} has REQUEST_CHANGES — spawning agent"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (review fix)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (review fix)"
|
||||||
BLOCKED_BY_INPROGRESS=true
|
BLOCKED_BY_INPROGRESS=true
|
||||||
fi
|
fi
|
||||||
|
|
@ -593,7 +593,7 @@ if [ "$ORPHAN_COUNT" -gt 0 ]; then
|
||||||
BLOCKED_BY_INPROGRESS=true # exhausted between check and launch
|
BLOCKED_BY_INPROGRESS=true # exhausted between check and launch
|
||||||
else
|
else
|
||||||
log "issue #${ISSUE_NUM} PR #${HAS_PR} CI failed — spawning agent to fix (attempt ${CI_FIX_ATTEMPTS}/3)"
|
log "issue #${ISSUE_NUM} PR #${HAS_PR} CI failed — spawning agent to fix (attempt ${CI_FIX_ATTEMPTS}/3)"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (CI fix)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (CI fix)"
|
||||||
BLOCKED_BY_INPROGRESS=true
|
BLOCKED_BY_INPROGRESS=true
|
||||||
fi
|
fi
|
||||||
|
|
@ -619,7 +619,7 @@ if [ "$ORPHAN_COUNT" -gt 0 ]; then
|
||||||
# Don't block — fall through to backlog
|
# Don't block — fall through to backlog
|
||||||
else
|
else
|
||||||
log "recovering orphaned issue #${ISSUE_NUM} (no PR found, assigned to ${BOT_USER:-unassigned})"
|
log "recovering orphaned issue #${ISSUE_NUM} (no PR found, assigned to ${BOT_USER:-unassigned})"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (recovery)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (recovery)"
|
||||||
BLOCKED_BY_INPROGRESS=true
|
BLOCKED_BY_INPROGRESS=true
|
||||||
fi
|
fi
|
||||||
|
|
@ -686,7 +686,7 @@ for i in $(seq 0 $(($(echo "$OPEN_PRS" | jq 'length') - 1))); do
|
||||||
fi
|
fi
|
||||||
# Direct merge failed (conflicts?) — fall back to dev-agent
|
# Direct merge failed (conflicts?) — fall back to dev-agent
|
||||||
log "falling back to dev-agent for PR #${PR_NUM} merge"
|
log "falling back to dev-agent for PR #${PR_NUM} merge"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for stuck PR #${PR_NUM} (agent-merge)"
|
log "started dev-agent PID $! for stuck PR #${PR_NUM} (agent-merge)"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -707,7 +707,7 @@ for i in $(seq 0 $(($(echo "$OPEN_PRS" | jq 'length') - 1))); do
|
||||||
continue # skip this PR, check next stuck PR or fall through to backlog
|
continue # skip this PR, check next stuck PR or fall through to backlog
|
||||||
fi
|
fi
|
||||||
log "PR #${PR_NUM} (issue #${STUCK_ISSUE}) has REQUEST_CHANGES — fixing first"
|
log "PR #${PR_NUM} (issue #${STUCK_ISSUE}) has REQUEST_CHANGES — fixing first"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for stuck PR #${PR_NUM}"
|
log "started dev-agent PID $! for stuck PR #${PR_NUM}"
|
||||||
exit 0
|
exit 0
|
||||||
elif ci_failed "$CI_STATE"; then
|
elif ci_failed "$CI_STATE"; then
|
||||||
|
|
@ -719,7 +719,7 @@ for i in $(seq 0 $(($(echo "$OPEN_PRS" | jq 'length') - 1))); do
|
||||||
continue # exhausted between check and launch
|
continue # exhausted between check and launch
|
||||||
fi
|
fi
|
||||||
log "PR #${PR_NUM} (issue #${STUCK_ISSUE}) CI failed — fixing (attempt ${CI_FIX_ATTEMPTS}/3)"
|
log "PR #${PR_NUM} (issue #${STUCK_ISSUE}) CI failed — fixing (attempt ${CI_FIX_ATTEMPTS}/3)"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$STUCK_ISSUE" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for stuck PR #${PR_NUM}"
|
log "started dev-agent PID $! for stuck PR #${PR_NUM}"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -840,7 +840,7 @@ for i in $(seq 0 $((BACKLOG_COUNT - 1))); do
|
||||||
fi
|
fi
|
||||||
# Direct merge failed (conflicts?) — fall back to dev-agent
|
# Direct merge failed (conflicts?) — fall back to dev-agent
|
||||||
log "falling back to dev-agent for PR #${EXISTING_PR} merge"
|
log "falling back to dev-agent for PR #${EXISTING_PR} merge"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$ISSUE_NUM" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${ISSUE_NUM} (agent-merge)"
|
log "started dev-agent PID $! for issue #${ISSUE_NUM} (agent-merge)"
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
@ -918,5 +918,5 @@ if [ -n "${READY_PR_FOR_INCREMENT:-}" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "launching dev-agent for #${READY_ISSUE}"
|
log "launching dev-agent for #${READY_ISSUE}"
|
||||||
nohup "${SCRIPT_DIR}/dev-agent.sh" "$READY_ISSUE" >> "$LOGFILE" 2>&1 &
|
("${SCRIPT_DIR}/dev-agent.sh" "$READY_ISSUE" >> "$LOGFILE" 2>&1) &
|
||||||
log "started dev-agent PID $! for issue #${READY_ISSUE}"
|
log "started dev-agent PID $! for issue #${READY_ISSUE}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue