fix(packaging): skip filesystem links during mode normalization - #1617
fix(packaging): skip filesystem links during mode normalization#1617luvs01 wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe package preparation script now normalizes file modes without following symbolic links. It exposes ChangesPackage mode safety
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score: 🟡 Moderate · up to The packaging change is localized and its focused checks pass, but the PR is still explicitly marked draft with all required readiness conditions unchecked, so it is not merge-ready until those conditions are completed or explicitly accepted. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
⏳ DRAFT
What to do
Review readiness checklist
✅ 4/4 boxes ticked. This pull request was already a draft. Its draft status will be preserved after every issue above is resolved. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
3d635f8 to
6222622
Compare
|
Blocking release-readiness items:
DISPOSITION: NEEDS-CHANGE |
6222622 to
6889f04
Compare
|
@coderabbitai review |
|
6889f04 to
233fe5f
Compare
lidge-jun
left a comment
There was a problem hiding this comment.
[Repository bug audit · 2026-08-14]
The lstat-based normalization and import-safe helper correctly avoid following direct, nested, and output-root links. The ordinary-entry mode assertions are appropriate; the remaining same-user lstat→chmod race is not a merge blocker for this packaging step.
Rebase onto current dev and require Linux/macOS exact-head CI to execute the POSIX symlink cases, plus the Windows junction case. If those pass, this can merge independently as packaging hardening.
|
Cherry-picked onto dev as part of the bug resolution campaign (commit-and-merge loop). Changes verified with typecheck and focused tests. |
Summary
normalizePackageModes(root)helper while preserving compatibility-manifest generation.Verification
devata1e5192b75edbf6dcacae51a30912fab93906f87; exact head:233fe5f00dba457847d9a08102ca812b8ef039f0.8 pass, 1 platform skip; typecheck passed; package preparation command passed.8 pass, 1 platform skip; typecheck passed; package preparation command passed.git diff --checkpassed.6f0cc13886979653e77b34ddada344e73b398f6cacross the rebase; an independent exact-head review found no actionable P0-P2 issue.bun run prepushpassed typecheck and entered the full suite, then its runtime crashed after 282 seconds with an internal assertion in unrelatedtests/api-storage-policy-put-race.test.ts(exit 3). The isolated same-file run also crashed on Bun 1.3.14, while Bun 1.4.0-canary.1 passed it 1/1; prepush is therefore recorded as blocked/red rather than green.Checklist
lstat-to-chmodrace requires same-user concurrent workspace mutation authority.Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.
Summary by CodeRabbit
Bug Fixes
Tests