Skip to content

test: isolate line-ending fixture from commit signing - #2674

Merged
HAYDEN-OAI merged 1 commit into
mainfrom
codex/isolate-line-ending-git-signing
Sep 7, 2026
Merged

test: isolate line-ending fixture from commit signing#2674
HAYDEN-OAI merged 1 commit into
mainfrom
codex/isolate-line-ending-git-signing

Conversation

@HAYDEN-OAI

Copy link
Copy Markdown
Contributor

Summary

Keep the disposable Git commits in the CRLF checkout test independent of a contributor's commit-signing setup.

The fixture already supplies a synthetic Git identity, but inherits commit.gpgsign=true. An unavailable SSH/GPG signer can therefore fail the test before it exercises formatting. Set commit.gpgsign=false in the temporary fixture repository's local configuration.

This is two added lines in one handwritten test file, including the explanatory comment. All line-ending assertions, commits, cleanup, production code, and real-repository signing settings remain unchanged.

Validation

  • Deterministic before/after reproduction through the canonical test command with a private synthetic global configuration: signing enabled, /usr/bin/false as the signer, and a synthetic key identifier. Main fails at the first fixture commit; the fix passes under the identical configuration without using a real signer.
  • The focused regression passes on Node 22.22.3, 24.19.0, and 26.7.0.
  • Full handwritten suite: 7,884 tests across 208 files pass on Node 24.19.0 with ordinary globally enabled signing and no command-level signing override.
  • Canonical formatting, lint, TypeScript 6, and diff checks pass.
  • Independent native-Git checks verify the fixture-local override and successful disposable commits while the synthetic global configuration and actual source repository's local signing configuration remain unchanged. Adversarial review found no further issue.

The exact Node 22.0.0 probe gets past the commits but encounters the existing Oxfmt TypeScript-config loader requirement. Repository tooling continues to target Node 24; no SDK runtime requirement changes.

@HAYDEN-OAI
HAYDEN-OAI requested a review from a team as a code owner September 7, 2026 01:24
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 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-07T01:26:05.769498Z 5aa0435 PR opened
🔒 Security Review Completed 2026-09-07T01:28:41.236529Z 5aa0435 PR opened
ℹ️ 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.

@openai-sdks

openai-sdks Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

237/237 SDK tests passed in 10.876s for Node SDK PR #2674.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 199ms
tests/chat-completions-create.test.ts ✅ Passed 282ms
tests/chat-completions-stream.test.ts ✅ Passed 204ms
tests/files-content-binary.test.ts ✅ Passed 173ms
tests/files-create-multipart.test.ts ✅ Passed 131ms
tests/files-list-pagination.test.ts ✅ Passed 139ms
tests/initialize-config.test.ts ✅ Passed 218ms
tests/instance-isolation.test.ts ✅ Passed 119ms
tests/models-list.test.ts ✅ Passed 129ms
tests/responses-background-lifecycle.test.ts ✅ Passed 241ms
tests/responses-body-method-errors.test.ts ✅ Passed 406ms
tests/responses-cancel-timeout.test.ts ✅ Passed 318ms
tests/responses-cancel.test.ts ✅ Passed 238ms
tests/responses-compact-retries.test.ts ✅ Passed 312ms
tests/responses-compact.test.ts ✅ Passed 216ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 163ms
tests/responses-create-advanced.test.ts ✅ Passed 190ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.078s
tests/responses-create-errors.test.ts ✅ Passed 275ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 169ms
tests/responses-create-retries.test.ts ✅ Passed 315ms
tests/responses-create-stream-failures.test.ts ✅ Passed 176ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 2.145s
tests/responses-create-stream-wire.test.ts ✅ Passed 2.504s
tests/responses-create-stream.test.ts ✅ Passed 145ms
tests/responses-create-terminal-states.test.ts ✅ Passed 272ms
tests/responses-create-timeout.test.ts ✅ Passed 273ms
tests/responses-create.test.ts ✅ Passed 176ms
tests/responses-delete.test.ts ✅ Passed 203ms
tests/responses-input-items-errors.test.ts ✅ Passed 233ms
tests/responses-input-items-list.test.ts ✅ Passed 181ms
tests/responses-input-items-options.test.ts ✅ Passed 104ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 254ms
tests/responses-input-tokens-count.test.ts ✅ Passed 256ms
tests/responses-malformed-inputs.test.ts ✅ Passed 2.092s
tests/responses-not-found-errors.test.ts ✅ Passed 336ms
tests/responses-parse.test.ts ✅ Passed 224ms
tests/responses-retrieve-retries.test.ts ✅ Passed 300ms
tests/responses-retrieve.test.ts ✅ Passed 276ms
tests/responses-stored-method-errors.test.ts ✅ Passed 715ms
tests/retry-behavior.test.ts ✅ Passed 2.974s
tests/sdk-error-shape.test.ts ✅ Passed 301ms

View OkTest run #34072930198

SDK merge (34a2cd870676) · head (5aa0435e5156) · base (fdb038e21509) · OkTest (2b1bdfd25e98)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

32 mixed files remain; 0 existing customizations changed.

Compared fdb038e215095aa0435e5156. Generated baselines verified.

32 existing customizations unchanged
  • api.md
  • scripts/castiron/README.md
  • scripts/castiron/custom_code_report.py
  • scripts/castiron/test_custom_code_report.py
  • src/client.ts
  • src/resources/audio/transcriptions.ts
  • src/resources/audio/translations.ts
  • src/resources/beta/assistants.ts
  • src/resources/beta/beta.ts
  • src/resources/beta/index.ts
  • src/resources/beta/responses/internal-base.ts
  • src/resources/beta/responses/responses.ts
  • src/resources/beta/threads/index.ts
  • src/resources/beta/threads/runs/index.ts
  • src/resources/beta/threads/runs/runs.ts
  • src/resources/beta/threads/threads.ts
  • src/resources/chat/completions/completions.ts
  • src/resources/chat/completions/index.ts
  • src/resources/conversations/index.ts
  • src/resources/embeddings.ts
  • src/resources/files.ts
  • src/resources/fine-tuning/checkpoints/permissions.ts
  • src/resources/images.ts
  • src/resources/responses/internal-base.ts
  • src/resources/responses/responses.ts
  • src/resources/skills/skills.ts
  • src/resources/skills/versions/versions.ts
  • src/resources/vector-stores/file-batches.ts
  • src/resources/vector-stores/files.ts
  • src/resources/webhooks/index.ts
  • src/resources/webhooks/webhooks.ts
  • tests/lib/data-residency.test.ts

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download the exact patch produced by this run (requires repository access):

gh run download 34072948720 --repo openai/openai-node \
  --name castiron-custom-code-34072948720-1 --dir /tmp/castiron-custom-code-34072948720-1
git apply --stat /tmp/castiron-custom-code-34072948720-1/custom-code.patch
cat /tmp/castiron-custom-code-34072948720-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin fdb038e21509264bcdf81741a40988dd694188b1 5aa0435e51567ffabccd9351b95c517cff0f3742
python3 scripts/castiron/custom_code_report.py report \
  --base fdb038e21509264bcdf81741a40988dd694188b1 \
  --head 5aa0435e51567ffabccd9351b95c517cff0f3742 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-5aa0435e5156
cat /tmp/castiron-custom-code-5aa0435e5156/custom-code.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

@markstuart-oai markstuart-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the complete test and runner/config propagation. This is the direct fixture-level fix: runGit uses the newly initialized temporary repository, so commit.gpgsign is written locally; source/global settings and hook configuration are unchanged. Both commits, CRLF-to-LF assertions, clean-index check, and finally cleanup remain intact. File growth is 472 → 474 lines, with no structural regression or warranted extra abstraction.

Independent validation: the canonical focused test fails at the first commit on main with a harmless failing synthetic signer and passes at this head on Node 22.23.2 and 24.20.0. Native Git checks confirmed local config origin, two disposable commits, unchanged global signing/hook settings, and cleanup; source/user/review-store config hashes stayed unchanged. Changed-file formatting, lint, and diff checks pass.

Limits: the full changed-file run passed 10 tests; its separate public-package-command test was blocked by pnpm's store database access error, including after a private-store retry. Exact Node 22.0.0 gets past the commits but hits the existing Oxfmt TypeScript-config loader requirement. Repository tooling targets Node 24; this does not change the SDK consumer floor. I did not run the full SDK suite or live API tests.

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed exact head 5aa0435 against the scoped goal of isolating the disposable CRLF fixture repository from contributor commit-signing settings. The local commit.gpgsign=false is set after fixture initialization and before both commits, affects only the temporary repository, and leaves the line-ending assertions and source-repository configuration unchanged. Reproduced under a synthetic global SSH signing policy using /usr/bin/false; the focused regression passed 1/1. The changed file passed oxfmt and oxlint, and git diff --check passed. No unresolved threads or in-scope blockers; hosted build, lint, CodeQL, Castiron, and breaking-change checks are green while Node/ecosystem jobs continue.

@HAYDEN-OAI
HAYDEN-OAI added this pull request to the merge queue Sep 7, 2026
Merged via the queue into main with commit ee993c6 Sep 7, 2026
38 checks passed
@HAYDEN-OAI
HAYDEN-OAI deleted the codex/isolate-line-ending-git-signing branch September 7, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants