Skip to content

fix(ci): tolerate transient setup failures and slow Windows runners - #953

Merged
mldangelo-oai merged 3 commits into
mainfrom
mdangelo/codex/fix-main-ci
Sep 17, 2026
Merged

mldangelo-oai merged 3 commits into
mainfrom
mdangelo/codex/fix-main-ci

Conversation

@mldangelo-oai

@mldangelo-oai mldangelo-oai commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Recent node-ci runs on main failed before their checks could finish: the Intel macOS runner could not resolve the Rust download host, Windows npm installation exceeded its three-minute timeout, and the Windows PowerShell language-mode probe exceeded its 15-second timeout. The extended runner comparison also rejected two parameterized tests whose boolean values were absent from their names.

Failure logs: Rust download, Windows npm install, PowerShell probe, report comparison.

Changes

  • Retry Unix Rust toolchain installation up to three times, waiting 10 and 20 seconds between attempts. Rustup 1.29's built-in retries apply to component downloads; the failing manifest-checksum request happens before them. Persistent failure still fails the step.
  • Give Windows npm installation five minutes while preserving the existing three-minute limit for other smoke commands. Derive the enclosing timeout from the installation and command budgets plus cleanup time. Linux and macOS budgets remain unchanged.
  • Allow 60 seconds for the Windows policy test's PowerShell processes, six minutes for the complete test, and seven minutes for its workflow step. Check subprocess errors explicitly so a timeout cannot count as the expected policy rejection.
  • Use %j for boolean test parameters so Bun emits distinct true and false names in JUnit reports.

Testing

  • Reproduced the duplicate-name failure locally before the fix. Afterward, all 29 focused tests passed in baseline, isolated, and parallel modes; the Windows-only policy test was skipped on macOS. Report comparisons passed with identical inventories and outcomes.
  • Typecheck, package formatting, workflow formatting, CI TypeScript build, JavaScript syntax check, and git diff --check: passed.
  • Executed the Rust setup shell with simulated immediate success, one failed attempt, two failed attempts, and persistent failure; all four cases passed. ShellCheck passed.
  • Two fresh native Codex reviews and independent verification found no actionable issues. Review checks verified timeout propagation and the enclosing budgets.
  • Full SDK suite (seed 12345): 3,075 passed, 57 skipped, no failures. Its complete JUnit report passes inventory validation.

Risk and rollout

These changes affect CI setup, test budgets, and test report names. The Windows timeout increases mitigate observed deadline failures; the logs do not establish the cause of the intermittent slowness. Persistent failures can take longer to report. The PR's Windows jobs exercise machine-policy behavior and installed-package verification.

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@github-actions github-actions Bot added the bug Something isn't working label Sep 17, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-17T14:35:06.088067Z 4ac3bde New commits
🔒 Security Review ✅ Completed 2026-09-17T14:36:00.262231Z 4ac3bde New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d0b7cd904

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

encoding: "utf8",
env: constrainedEnvironment,
timeout: 15_000,
timeout: 60_000,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Raise the enclosing timeout with the child budgets

On a slow Windows runner, the three serial PowerShell probes can now consume up to 180 seconds, but .github/workflows/node-ci.yml still launches this test with bun test --timeout 120000; bun test --help describes that flag as “Set the per-test timeout in milliseconds.” Consequently, the runner can kill the second or third probe once the cumulative time reaches 120 seconds even though it has not exhausted its new 60-second child budget, so the intended tolerance is not fully effective. Increase the enclosing test timeout (and its workflow-contract assertion) to cover all serial probes and cleanup.

AGENTS.md reference: sdk/typescript/AGENTS.md:L35-L35

Useful? React with 👍 / 👎.

@mldangelo-oai
mldangelo-oai merged commit 6cb0d51 into main Sep 17, 2026
68 checks passed
@mldangelo-oai
mldangelo-oai deleted the mdangelo/codex/fix-main-ci branch September 17, 2026 18:11
@github-actions github-actions Bot mentioned this pull request Sep 17, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant