Repository navigation
fix(test): contain and reclaim Windows temporary roots - #4785
colthreepv wants to merge 1 commit into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 75 / 80이 PR은 #4762를 고친다. Windows에서 테스트가 사용자 TEMP 아래에 이 PR이 하는 일은 세 겹이다. (1) 새 모듈 방향은 이전에 #4762 이슈 리뷰에서 말한 “TEMP를 테스트 루트 아래로 리다이렉트”와 같다. types/config 분할 캠페인과도 안 겹친다. 제품 코드가 아니라 테스트 인프라만 만진다. 미리보기 배포는 계획에 없다. 다만 지금 상태는 Draft이고, 작성자도 전체 회수 로직의 보수성은 좋다. 잘못된 owner JSON·링크 트리·아직 살아있는 PID·48시간 미만 활동은 전부 스킵한다. 반대로 말하면, 이미 쌓인 수천 개 유령 디렉터리는 새 코드가 배포된 뒤에도 최대 48시간(+스캔 한도에 걸리면 여러 런) 동안 남을 수 있다. 그건 의도된 trade-off다. 한 번에 TEMP 전체를 비우면 위험하니까. 메인테이너가 지금 당장 워크스테이션을 비우고 싶으면, 수동 quarantine(이미 이슈에 적힌 방법)과 이 PR을 같이 쓰면 된다. 작은 주의점 두 가지. 첫째, scripts/test-temp.ts (신규) - Windows TEMP 누수(#4762)의 본체. contain + owner 마커 + stale 회수. 현재 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
리뷰 · 우선순위 76 / 80이 PR은 Windows에서 테스트가 끝난 뒤에도 지금 구체적으로는 새 파일 라인 쪽 문제는 “틀렸다”보다 “머지 전에 확인할 구멍”에 가깝습니다.
메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
⏳ DRAFT
What to do
Review readiness checklist
0/4 boxes ticked. This PR stays in draft until every box above is ticked. |
Co-authored-by: Valerio Coltre <colthreepv@gmail.com>
a69b2f8 to
8e9e443
Compare
|
Carried in #4796 on the current dev head, with your commit and a Co-authored-by trailer preserved. Two changes were needed on top: reclamation now requires ownership evidence, because an absent marker previously fell through to removal and every directory users have accumulated today was written by a version that stamped nothing; and the #4789 removal retry budget is folded into the same change. Cancelling the run on this head to free the queue for #4796. |
…#4796) Maintainer integration for the 2.57.0 stabilization scope. The exact head has a green aggregate ci check with no failing job. Carries #4785 and folds #4789. The containment half closes the leak in #4762 for future runs. The reclamation half needed correcting before it could ship: as authored, an absent ownership marker fell through to removal, and every directory users have accumulated today was written by a version that stamped nothing, so the rule would have deleted TEMP trees the tool cannot show it created. Reclamation now treats a missing marker as disqualifying and requires the owning pid to be dead. An already-affected workstation is not cleaned by this change; those roots are scanned, skipped and left to the user. Host-owned merge decision; no local suite, typecheck, build, or install was run.
lidge-jun#4789) (lidge-jun#4796) Maintainer integration for the 2.57.0 stabilization scope. The exact head has a green aggregate ci check with no failing job. Carries lidge-jun#4785 and folds lidge-jun#4789. The containment half closes the leak in lidge-jun#4762 for future runs. The reclamation half needed correcting before it could ship: as authored, an absent ownership marker fell through to removal, and every directory users have accumulated today was written by a version that stamped nothing, so the rule would have deleted TEMP trees the tool cannot show it created. Reclamation now treats a missing marker as disqualifying and requires the owning pid to be dead. An already-affected workstation is not cleaned by this change; those roots are scanned, skipped and left to the user. Host-owned merge decision; no local suite, typecheck, build, or install was run.
Summary
TEMP,TMP, andTMPDIRfor every test process into its per-run root, so nested test artifacts are removed with the owning run on both passing and failing paths.Closes #4762
Verification
bun install --frozen-lockfilebun run typecheckbun test tests/ci-workflows/test-runner.test.ts -t "Windows test TEMP recovery|bare .* run removes|wrapper passes parallel execution"(7 pass, 0 fail)bun run privacy:scanbun run testwas attempted, but the local execution session was interrupted after its process tree had run for about 14 minutes and did not preserve a conclusive exit status. This PR remains draft pending the authoritative full-suite result.Checklist
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.