Skip to content

Use durable atomic replace for Unix self-updates#631

Merged
ryanfowler merged 1 commit into
mainfrom
fix-unix-selfupdate-replacement
May 27, 2026
Merged

Use durable atomic replace for Unix self-updates#631
ryanfowler merged 1 commit into
mainfrom
fix-unix-selfupdate-replacement

Conversation

@ryanfowler
Copy link
Copy Markdown
Owner

Summary

  • Route self-update unpacking by archive suffix instead of compile-time OS branches.
  • Change non-Windows replacement to copy the unpacked executable into the target directory and replace it with fileutil::atomic_replace_file, preserving the Unix parent-directory sync.
  • Add regression tests for suffix-based archive dispatch, unsupported archive formats, and non-Windows replacement behavior.

Testing

  • cargo fmt
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • cargo test --all-features
  • cargo test --all-features --test integration -- --test-threads=1

@ryanfowler ryanfowler enabled auto-merge May 27, 2026 22:28
@ryanfowler ryanfowler merged commit 28120ef into main May 27, 2026
4 checks passed
@ryanfowler ryanfowler deleted the fix-unix-selfupdate-replacement branch May 27, 2026 22:33
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