Skip to content

Stop the Builder when its working exefs cannot be cleared - #1363

Merged
hckrman101 merged 1 commit into
NotRexed:mainfrom
bronze-ff:fix/builder-exefs-cleanup
Nov 9, 2026
Merged

hckrman101 merged 1 commit into
NotRexed:mainfrom
bronze-ff:fix/builder-exefs-cleanup

Conversation

@bronze-ff

Copy link
Copy Markdown
Contributor

The Builder removes its working copy of exefs before reading game files. If a locked file prevents removal, the current code ignores the error. The update path then tries to copy into an existing directory, and fresh extraction can move the new files underneath the stale directory.

Report the cleanup failure through the Builder's existing error flow, including the work path and OS error. Stop before copying or extracting so the previous game cache and saves are preserved. A missing working directory still permits a fresh build.

Refs #1354 and #1273.

Validation

  • On main, the updated game-free fixture reproduced both reported Windows errors, including a copy into an existing directory and a read of nested exefs/exefs. Both paths now stop at the failed cleanup before touching the saved cache. A normal update still replaces a clearable working copy.
  • The focused strict runner passed on Windows and Ubuntu under WSL for make_game_cache, lift_cleanup_error, and builder_status.
  • Held a real temporary file open without delete sharing on Windows. The Builder reported WinError 32 before copying. After releasing the handle, the same update reached the fixture's lift checkpoint. All fixtures used authored temporary files.

Assisted-by: OpenAI Codex

Co-authored-by: Codex <codex@openai.com>
@hckrman101
hckrman101 merged commit 0828863 into NotRexed:main Nov 9, 2026
11 checks passed
@NotRexed NotRexed mentioned this pull request Nov 10, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant