Skip to content

release: compress linux/darwin archives with xz -9e (smaller downloads) - #4162

Merged
0pcom merged 1 commit into
skycoin:developfrom
0pcom:chore/release-archive-xz
Aug 24, 2026
Merged

release: compress linux/darwin archives with xz -9e (smaller downloads)#4162
0pcom merged 1 commit into
skycoin:developfrom
0pcom:chore/release-archive-xz

Conversation

@0pcom

@0pcom 0pcom commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

The linux and darwin release archives are plain gzip (level 6) tarballs, ~85 MB each. Switching them to xz -9e shrinks a stripped skywire binary's archive by ~13-14% vs gzip, with no other change:

compressor size vs gzip -6
gzip -6 (current) 89.5 MB
xz -9e 77.3 MB -13.6%
zstd -19 80.3 MB -10.3%

xz -9e wins on ratio and its decompressor is near-universal, so it's preferred over zstd here. The tar is piped through the xz CLI (rather than tar -J) so the -9e level is applied identically on GNU tar (linux) and bsdtar (macOS); xz-utils is added to the linux job deps. The .sha256 sidecars, artifact globs and release-upload file lists move to .tar.xz. Windows Compress-Archive is raised to -CompressionLevel Optimal (smaller win, no new tooling).

Consumer of the archives — the AUR skywire-bin PKGBUILD — is updated in the AUR repo separately. The rolling develop-latest/master-latest .zst binary-updater channel (publish-binary.yml) and the wasm-visor tinygo module archive are intentionally left unchanged.

Extension change (.tar.gz -> .tar.xz) applies only to v* tagged releases, which is the only thing release.yml runs for.

…ptimal on windows

The linux and darwin release archives were plain gzip (level 6) tarballs at
~85 MB each. Switch them to xz -9e, which shrinks a stripped skywire binary's
archive by ~13-14% vs gzip with no other change:

  gzip -6 (old): 89.5 MB
  xz -9e:        77.3 MB   (-13.6%)
  zstd -19:      80.3 MB   (-10.3%)

xz -9e wins on ratio and its decompressor is near-universal, so it is preferred
over zstd here. The tar is piped through the xz CLI (not tar -J) so the -9e
level is honored identically on GNU tar (linux) and bsdtar (macOS). xz-utils is
added to the linux job deps. The .sha256 sidecars, artifact globs and release
upload lists move to the new .tar.xz extension. Windows Compress-Archive is
raised to -CompressionLevel Optimal (smaller win, no new tooling).

The rolling develop-latest/master-latest .zst binary-updater channel
(publish-binary.yml) and the wasm-visor tinygo module archive are unchanged.
@0pcom
0pcom merged commit 593f9c6 into skycoin:develop Aug 24, 2026
11 of 15 checks passed
@0pcom
0pcom deleted the chore/release-archive-xz branch August 24, 2026 23:44
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