Skip to content

feat(self-update): prefer zstd-compressed download#344

Merged
passcod merged 1 commit into
mainfrom
feat/self-update-zstd
May 23, 2026
Merged

feat(self-update): prefer zstd-compressed download#344
passcod merged 1 commit into
mainfrom
feat/self-update-zstd

Conversation

@passcod
Copy link
Copy Markdown
Member

@passcod passcod commented May 23, 2026

🤖

Stacked on #341.

Summary

The bestool binary has grown to ~50 MiB uncompressed and CloudFront doesn't compress on the fly. zstd shrinks it to ~36% of that (around 18 MiB).

  • CI now produces bestool[.exe].tar.zst alongside the uncompressed binary and uploads both to the versioned and latest/ S3 paths. The tarball wraps the single binary so we can reuse binstalk-downloader's existing Tzstd extractor on the client side without adding a new direct dep.
  • self-update probes for bestool[.exe].tar.zst; if present, downloads and extracts via PkgFmt::Tzstd. Falls back to the uncompressed URL when the .tar.zst isn't there — covers older releases still on S3, and old clients keep hitting the existing path unchanged.

Base automatically changed from feat/self-update-skip-if-latest to main May 23, 2026 02:07
CI now publishes bestool[.exe].tar.zst alongside the uncompressed
binary (zstd shrinks the binary to ~36% of its uncompressed size).
self-update probes for the .tar.zst variant first and extracts it
via binstalk-downloader's existing Tzstd support. Falls back to the
uncompressed URL when .tar.zst isn't present (older versions still
on S3). Old clients keep using the uncompressed URL.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@passcod passcod force-pushed the feat/self-update-zstd branch from ca00151 to 6e0e0f2 Compare May 23, 2026 03:27
@passcod passcod changed the base branch from main to refactor/cli-context May 23, 2026 03:27
Base automatically changed from refactor/cli-context to main May 23, 2026 03:30
@passcod passcod enabled auto-merge May 23, 2026 03:33
@passcod passcod added this pull request to the merge queue May 23, 2026
@passcod passcod removed this pull request from the merge queue due to a manual request May 23, 2026
@passcod passcod added this pull request to the merge queue May 23, 2026
Merged via the queue into main with commit 29d687a May 23, 2026
8 checks passed
@passcod passcod deleted the feat/self-update-zstd branch May 23, 2026 03:49
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