feat(agent-queue): report PR state (open/merged) on the run
This commit is contained in:
parent
09b16c4b19
commit
c2dbbaf188
@ -981,10 +981,12 @@ run_worker() {
|
||||
[[ -n "$_prtitle" ]] || _prtitle="agent-queue job $job"
|
||||
_prurl=$(_fleet_pr_open "$pr_dir" "$pr_base" "$pr_jid" "$_prtitle" "$logf") || _prurl=""
|
||||
if [[ -n "$_prurl" ]]; then
|
||||
{ echo "pr_url=$_prurl"; echo "pr_branch=aq/job/$pr_jid"; } >> "$metaf"
|
||||
{ echo "pr_url=$_prurl"; echo "pr_branch=aq/job/$pr_jid"; echo "pr_state=open"; } >> "$metaf"
|
||||
echo "PR opened: $_prurl" >> "$logf"
|
||||
# Opt-in auto-merge (job autoMerge flag): squash-merge the PR now.
|
||||
[[ "$pr_automerge" == "true" ]] && _fleet_pr_merge "$pr_dir" "$_prurl" "$logf"
|
||||
if [[ "$pr_automerge" == "true" ]] && _fleet_pr_merge "$pr_dir" "$_prurl" "$logf"; then
|
||||
echo "pr_state=merged" >> "$metaf"
|
||||
fi
|
||||
if fleet_enabled && _fleet_is_job "$job"; then fleet_report_insights "$job" testing; fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -307,13 +307,15 @@ fleet_report_insights() {
|
||||
[[ "$turns" =~ ^[0-9]+$ ]] && ins+=",\"turns\":$turns"
|
||||
[[ "$tools" =~ ^[0-9]+$ ]] && ins+=",\"toolCalls\":$tools"
|
||||
[[ "$est" == "true" || "$est" == "1" ]] && ins+=",\"estimated\":true"
|
||||
local pr_url pr_branch
|
||||
local pr_url pr_branch pr_state
|
||||
pr_url=$(_meta_val "$metaf" pr_url); pr_branch=$(_meta_val "$metaf" pr_branch)
|
||||
pr_state=$(_meta_val "$metaf" pr_state)
|
||||
local body="{\"leaseEpoch\":${epoch:-0}"
|
||||
[[ -n "$ins" ]] && body+=",\"insights\":{${ins#,}}"
|
||||
[[ -n "$result" ]] && body+=",\"result\":\"$(_json_escape "$result")\""
|
||||
[[ -n "$pr_url" ]] && body+=",\"prUrl\":\"$(_json_escape "$pr_url")\""
|
||||
[[ -n "$pr_branch" ]] && body+=",\"branch\":\"$(_json_escape "$pr_branch")\""
|
||||
[[ -n "$pr_state" ]] && body+=",\"prState\":\"$(_json_escape "$pr_state")\""
|
||||
body+="}"
|
||||
_fleet_call POST "/fleet/jobs/$jid/lease/release" "$body"
|
||||
return 0
|
||||
|
||||
@ -891,8 +891,8 @@ if git -C "$prbare" rev-parse --verify aq/job/fjob_pr >/dev/null 2>&1 \
|
||||
&& grep -q 'pr merge' "$tmp/gh-calls.log" 2>/dev/null \
|
||||
&& git -C "$prbare" ls-tree -r aq/job/fjob_pr --name-only 2>/dev/null | grep -qx 'PR_CHANGE.md' \
|
||||
&& ! git -C "$prbare" ls-tree -r aq/job/fjob_pr --name-only 2>/dev/null | grep -qx '.aq_pr.md' \
|
||||
&& grep -q '/fleet/jobs/fjob_pr/lease/release :: .*"prUrl":"https://github.com/test/repo/pull/7"' "$AQ_FSTUB_CALLS"; then
|
||||
pass "fleet PR mode: authored title + verify gate + auto-merge (gh pr merge) + prUrl reported"
|
||||
&& grep -q '/fleet/jobs/fjob_pr/lease/release :: .*"prUrl":"https://github.com/test/repo/pull/7".*"prState":"merged"' "$AQ_FSTUB_CALLS"; then
|
||||
pass "fleet PR mode: authored title + verify gate + auto-merge + prUrl/prState=merged reported"
|
||||
else
|
||||
echo "gh-calls: $(cat "$tmp/gh-calls.log" 2>/dev/null)" >&2
|
||||
echo "tree: $(git -C "$prbare" ls-tree -r aq/job/fjob_pr --name-only 2>/dev/null | tr '\n' ' ')" >&2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user