mirror of
https://github.com/openai/codex.git
synced 2026-05-03 10:56:37 +00:00
## Summary - Surface failed GitHub Actions jobs in the PR babysitter watcher so Codex can fetch job logs as soon as a job fails, instead of waiting for the overall workflow run to complete. - Update babysit-pr skill instructions, GitHub API notes, and heuristics to prefer direct job log archives before falling back to `gh run view --log-failed`. - Add guardrails requiring explicit user confirmation before posting replies to human-authored review comments. - Add guardrails preventing Codex from patching unrelated flaky tests, CI infrastructure, runner issues, dependency outages, or other failures not caused by the PR branch. ## Validation - `python3 -m pytest .codex/skills/babysit-pr/scripts/test_gh_pr_watch.py`
2.1 KiB
2.1 KiB
GitHub CLI / API Notes For babysit-pr
Primary commands used
PR metadata
gh pr view --json number,url,state,mergedAt,closedAt,headRefName,headRefOid,headRepository,headRepositoryOwner
Used to resolve PR number, URL, branch, head SHA, and closed/merged state.
PR checks summary
gh pr checks --json name,state,bucket,link,workflow,event,startedAt,completedAt
Used to compute pending/failed/passed counts and whether the current CI round is terminal.
Workflow runs for head SHA
gh api repos/{owner}/{repo}/actions/runs -X GET -f head_sha=<sha> -f per_page=100
Used to discover failed workflow runs and rerunnable run IDs.
Failed log inspection
gh run view <run-id> --json jobs,name,workflowName,conclusion,status,url,headShagh api repos/{owner}/{repo}/actions/runs/{run_id}/jobs -X GET -f per_page=100gh api repos/{owner}/{repo}/actions/jobs/{job_id}/logs > /tmp/codex-gh-job-{job_id}-logs.zipgh run view <run-id> --log-failed
Used by Codex to classify branch-related vs flaky/unrelated failures. Prefer the direct job log endpoint as soon as a job has failed because gh run view --log-failed may not produce failed-job logs until the overall workflow run completes.
Retry failed jobs only
gh run rerun <run-id> --failed
Reruns only failed jobs (and dependencies) for a workflow run.
Review-related endpoints
- Issue comments on PR:
gh api repos/{owner}/{repo}/issues/<pr_number>/comments?per_page=100
- Inline PR review comments:
gh api repos/{owner}/{repo}/pulls/<pr_number>/comments?per_page=100
- Review submissions:
gh api repos/{owner}/{repo}/pulls/<pr_number>/reviews?per_page=100
JSON fields consumed by the watcher
gh pr view
numberurlstatemergedAtclosedAtheadRefNameheadRefOid
gh pr checks
bucket(pass,fail,pending,skipping)statenameworkflowlink
Actions runs API (workflow_runs[])
idnamestatusconclusionhtml_urlhead_sha
Actions run jobs API (jobs[])
idnamestatusconclusionhtml_url