fix(build-cli): parallelize tarball publish preflight - #28205
Alex Villarreal (alexvy86) wants to merge 7 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (553 lines, 2 files), I've queued these reviewers:
How this works
|
There was a problem hiding this comment.
🟡 Changes recommended
Address negative retry handling and duplicate package entries before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This pull request parallelizes tarball registry preflight checks while preserving serial, dependency-ordered publishing.
Changes:
- Adds bounded concurrency for version checks.
- Rechecks registry state before retries.
- Retains serial
npm publishexecution.
File summaries
| File | Description |
|---|---|
build-tools/packages/build-cli/src/commands/publish/tarballs.ts |
Implements concurrent preflight checks and retry handling. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
🔭 PR Review Fleet ReportNote This report is generated by an experimental AI review fleet and is provided as a beta feature. Findings are a starting point for discussion, not a gate. Use your own judgement. Verdict: ❌ Request Changes 0 Spicy, 1 Pungent, 2 Smelly Findings
|
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
[Agent-generated] Addressed the deep-review feedback in the latest commit:
|
There was a problem hiding this comment.
🟡 Changes recommended
Publishing currently continues to dependent tarballs after an earlier tarball exhausts its retries.
Get a fresh assessment by requesting another Copilot review.
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Balanced
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
[Agent-generated] Addressed the latest feedback and failing checks in the newest commit:
|
Deep ReviewReviewed commit Readiness: 10/10 — READY Ready for sign-off. Commit Context for Reviewers
For human reviewer
Review history (2 prior reviews)
|
There was a problem hiding this comment.
🔵 Needs a closer look
The publish callback contract permits AlreadyPublished, but that result can incorrectly trigger additional publish attempts.
Review details
Suppressed comments (1)
Previously missed (1) — in code that hasn't changed since the last review.
build-tools/packages/build-cli/src/commands/publish/tarballs.ts:333
publishis declared to return anyPublishStatus, includingAlreadyPublished, but this loop only stops forSuccessfullyPublished. With retries enabled, a validAlreadyPublishedresult causes another publish attempt whenever the follow-up check returns false. Stop retrying for every non-error status (or narrow the callback's return type to excludeAlreadyPublished).
- Files reviewed: 2/2 changed files
- Comments generated: 0 new
- Review effort level: Balanced
|
[Agent-generated] Followed up on the remaining human-judgment items from the deep review:
I consider the fixed cap of 10 a conservative, appropriate starting point. The remaining validation is operational: measure the publishing stage in an |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
[Agent-generated] Addressed Copilot's closer-look finding in the latest commit. |
Joshua Smithrud (Josmithr)
left a comment
There was a problem hiding this comment.
Didn't have time for a full review, but left a couple of quick comments. I can review more next week.
…l helpers Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bundle size comparisonBase commit: could not be determined; will be reported when the comparison runs Pending — |
Description
ff_publishinginvokesflub publish tarballsfor internal-feed publishing. Each tarball previously performed a serial registry lookup before publishing, adding registry round-trip time for every package.Run initial version checks with a bounded concurrency of 10 while preserving serial, dependency-ordered
npm publishcalls. Retry attempts still re-check the registry so a successful upload with a lost response is treated as already published.AB#21577
Reviewer Guidance
The review process is outlined in the pull request guidelines.