Repository navigation
fix(windows): retry publishing validated plugin ZIPs - #2498
mldangelo-oai wants to merge 2 commits into
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Strict eval builds type-check the SDK source without JavaScript inference. Pair the shared helper with its source declaration and include its JavaScript explicitly so clean SDK builds still emit the implementation, declarations, and maps.
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for fixing this. No blocking findings in this merge-safety review. Reusing the existing bounded retry preserves builder rollback, and ZIP publication now retains native errors while protecting competing destinations.
Focused ZIP tests passed (12 cases; two Windows-only cases skipped), as did builder tests (11 cases; three Windows-only cases skipped), TypeScript, and formatting. Native Windows locks were not independently exercised locally; the current hosted Windows test shards and installed-package checks passed.
Twelve public-SDK extraction/simulated-Windows scenarios passed, including backoff cancellation, competing writers, and cleanup diagnostics. The built package contains the helper and declarations, and a strict source-consumer check passed. Full eval compilation remains unverified locally because eval-only dependencies are absent.
Summary
On Windows a reader can briefly hold a file in a validated plugin ZIP's staging directory and prevent the final directory rename. The SDK could report the archive as invalid even when every entry had extracted successfully.
Changes
Testing
build:evalsand 61 archive tests. The rebuilt tarball was byte-identical to the previous candidate.EPERM. Publication succeeded after the handle closed. A continuously held handle exhausted the bounded attempts and produced the native cause. Two simultaneous publishers produced one complete destination.ENOTEMPTY.Risk and rollout
Retries apply to Windows
EPERM,EACCES, andEBUSYduring publication. A persistent file lock can retain the private staging directory until the handle closes. The tests cover archive validation, competing publications, cancellation and builder rollback.Public disclosure review