autopilot-code 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autopilot-code",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "private": false,
5
5
  "description": "Repo-issue–driven autopilot runner",
6
6
  "license": "MIT",
@@ -431,16 +431,65 @@ I'm monitoring the CI checks and will auto-merge once they pass. This may take a
431
431
  elif [[ "$MERGE_STATE_STATUS" == "CLEAN" || "$MERGE_STATE_STATUS" == "HAS_HOOKS" ]]; then
432
432
  # Check statusCheckRollup - if null/empty, no checks configured, so PASSED
433
433
  if command -v jq >/dev/null 2>&1; then
434
- CHECK_STATUS=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | if . == null or length == 0 then "PASSED" elif map(.conclusion) | any(. == "FAILURE") then "FAILED" elif map(.conclusion) | any(. == "PENDING") or any(. == "QUEUED") then "PENDING" else "PASSED" end')
434
+ # Debug: log the statusCheckRollup value
435
+ SCR_VALUE=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup')
436
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup value = $SCR_VALUE"
437
+
438
+ # Check if statusCheckRollup is null or empty array
439
+ SCR_IS_NULL=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup == null')
440
+ SCR_LENGTH=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | length // 0')
441
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup is_null=$SCR_IS_NULL, length=$SCR_LENGTH"
442
+
443
+ if [[ "$SCR_IS_NULL" == "true" ]] || [[ "$SCR_LENGTH" == "0" ]]; then
444
+ CHECK_STATUS="PASSED"
445
+ echo "[run_opencode_issue.sh] No CI checks configured (statusCheckRollup is null/empty)"
446
+ else
447
+ # Has checks - determine status
448
+ CHECK_STATUS=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | map(.conclusion) | if any(. == "FAILURE") then "FAILED" elif any(. == "PENDING") or any(. == "QUEUED") then "PENDING" else "PASSED" end')
449
+ echo "[run_opencode_issue.sh] CI checks found, status = $CHECK_STATUS"
450
+ fi
435
451
  else
452
+ # Python fallback
453
+ SCR_VALUE=$(python3 -c 'import json,sys; data=json.load(sys.stdin); print(data.get("statusCheckRollup", "null"))' <<<"$PR_STATUS_JSON")
454
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup value = $SCR_VALUE"
455
+
436
456
  CHECK_STATUS=$(python3 -c 'import json,sys; data=json.load(sys.stdin); scr=data.get("statusCheckRollup"); print("PASSED" if not scr or len(scr)==0 else "FAILED" if any(c.get("conclusion")=="FAILURE" for c in scr) else "PENDING" if any(c.get("conclusion") in ["PENDING","QUEUED"] for c in scr) else "PASSED")' <<<"$PR_STATUS_JSON")
457
+
458
+ if [[ "$SCR_VALUE" == "null" ]] || [[ "$SCR_VALUE" == "[]" ]]; then
459
+ echo "[run_opencode_issue.sh] No CI checks configured (statusCheckRollup is null/empty)"
460
+ fi
437
461
  fi
438
462
  elif [[ "$MERGE_STATE_STATUS" == "BLOCKED" ]]; then
439
463
  # If mergeStateStatus is BLOCKED, check if it's due to failed checks
464
+ echo "[run_opencode_issue.sh] mergeStateStatus is BLOCKED, checking if due to failed checks"
440
465
  if command -v jq >/dev/null 2>&1; then
441
- CHECK_STATUS=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | if . == null or length == 0 then "PASSED" elif map(.conclusion) | any(. == "FAILURE") then "FAILED" elif map(.conclusion) | any(. == "PENDING") or any(. == "QUEUED") then "PENDING" else "PASSED" end')
466
+ # Debug: log the statusCheckRollup value
467
+ SCR_VALUE=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup')
468
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup value = $SCR_VALUE"
469
+
470
+ # Check if statusCheckRollup is null or empty array
471
+ SCR_IS_NULL=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup == null')
472
+ SCR_LENGTH=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | length // 0')
473
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup is_null=$SCR_IS_NULL, length=$SCR_LENGTH"
474
+
475
+ if [[ "$SCR_IS_NULL" == "true" ]] || [[ "$SCR_LENGTH" == "0" ]]; then
476
+ CHECK_STATUS="FAILED"
477
+ echo "[run_opencode_issue.sh] No CI checks but mergeStateStatus is BLOCKED - other blocking issue"
478
+ else
479
+ # Has checks - determine status
480
+ CHECK_STATUS=$(echo "$PR_STATUS_JSON" | jq -r '.statusCheckRollup | map(.conclusion) | if any(. == "FAILURE") then "FAILED" elif any(. == "PENDING") or any(. == "QUEUED") then "PENDING" else "PASSED" end')
481
+ echo "[run_opencode_issue.sh] CI checks found, status = $CHECK_STATUS"
482
+ fi
442
483
  else
484
+ # Python fallback
485
+ SCR_VALUE=$(python3 -c 'import json,sys; data=json.load(sys.stdin); print(data.get("statusCheckRollup", "null"))' <<<"$PR_STATUS_JSON")
486
+ echo "[run_opencode_issue.sh] Debug: statusCheckRollup value = $SCR_VALUE"
487
+
443
488
  CHECK_STATUS=$(python3 -c 'import json,sys; data=json.load(sys.stdin); scr=data.get("statusCheckRollup"); print("PASSED" if not scr or len(scr)==0 else "FAILED" if any(c.get("conclusion")=="FAILURE" for c in scr) else "PENDING" if any(c.get("conclusion") in ["PENDING","QUEUED"] for c in scr) else "PASSED")' <<<"$PR_STATUS_JSON")
489
+
490
+ if [[ "$SCR_VALUE" == "null" ]] || [[ "$SCR_VALUE" == "[]" ]]; then
491
+ echo "[run_opencode_issue.sh] No CI checks but mergeStateStatus is BLOCKED - other blocking issue"
492
+ fi
444
493
  fi
445
494
  else
446
495
  # Other states (DRAFT, DIRTY, BEHIND) - mark as FAILED to exit