Skip to content

ci(codex-review): pin codex-action to v1.11 and cap review job runtime - #640

Merged
jeff-r2026 merged 1 commit into
Tencent:mainfrom
jeff-r2026:fix/codex-action-pin-v1-11
Sep 18, 2026
Merged

jeff-r2026 merged 1 commit into
Tencent:mainfrom
jeff-r2026:fix/codex-action-pin-v1-11

Conversation

@jeff-r2026

Copy link
Copy Markdown
Collaborator

Problem

The Codex review job hangs indefinitely and never posts its comment, even though the review completes. Example: run 35328364012 produced a full **Findings** output in the logs (tokens used 131,234), then idled in Run Codex review for ~3 hours until GitHub's default timeout killed the job — so the Post review as PR comment step never ran and the review was thrown away.

Root cause

openai/codex-action@v1 now resolves to v1.12+, which introduced a regression: v1.12 rewrote the codex-exec runner to wait on the whole process tree's stdio. The backgrounded Responses API proxy the action starts keeps those file descriptors open, so the step never observes stdio close and hangs until timeout even after the model has finished and printed its final message.

  • The hang is workload-sensitive (single-file PRs pass in ~80s; multi-file PRs hang), which is why it looked intermittent.
  • Upstream tracking: openai/codex-action#151 (fix still unmerged), openai/codex#9269.

Fix

  1. Pin to openai/codex-action@v1.11 — the last release before the regression. Its final-message output contract is identical to v1.12, so the comment-posting step is unaffected, and the bubblewrap userns fix that was actually needed landed back in v1.6.
  2. Add timeout-minutes: 15 to the review job. A normal review finishes in ~2 min; this caps any future hang instead of letting it idle for the default 6h and burn runner minutes.

Test plan

This is a CI-only workflow change (YAML), not touched by the CLI end-to-end suite. Verified:

  • openai/codex-action v1.11 tag exists (git ls-remote → 7c168a2… refs/tags/v1.11).
  • YAML parses and fields resolve: review.timeout-minutes == 15, codex step uses == openai/codex-action@v1.11.
  • Diff is surgical — only the two intended lines/blocks in codex-review-on-assign.yml; no other files or docs reference the action version.
  • End-to-end behavior will be confirmed on this PR itself: once a maintainer assigns it, the pinned v1.11 review should complete and post its comment within the 15-min cap (vs. the multi-hour hang above).

openai/codex-action@v1 now resolves to v1.12+, which rewrote the
codex-exec runner to wait on the whole process tree's stdio. The
backgrounded Responses API proxy keeps those descriptors open, so the
step never sees stdio close and hangs until timeout — the review is
produced (final-message is printed) but the job idles for hours and the
Post-comment step never runs, so the review is thrown away.

Pin to v1.11, the last release before the regression (identical
final-message output contract), and add timeout-minutes: 15 to the
review job so any future hang is capped instead of idling for the
default 6h.

Refs: openai/codex-action#151, openai/codex#9269
@jeff-r2026
jeff-r2026 merged commit 7683c54 into Tencent:main Sep 18, 2026
6 checks passed
@jeff-r2026
jeff-r2026 deleted the fix/codex-action-pin-v1-11 branch September 18, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant