Repository navigation
images: add zstd to the base guest packages - #17
Merged
Merged
Conversation
Without zstd in the guest, actions/cache restores and saves with gzip. On a 2-vCPU guest single-threaded gunzip, not the network, sets the restore time (~38 s to untar a ~1.8 GB pnpm store fetched in ~5 s). Only --toolset full got zstd, via runner-images' install-zstd.sh. Add it to the first apt layer of build-ubuntu-rootfs.sh so minimal and base get it too, and to the debootstrap set of build-rootfs.sh for the Debian tiers. Closes #16
There was a problem hiding this comment.
🟢 Approval recommended
Both package additions use existing shared installation paths, and no blocking issues were identified.
No open issues 🎉
What changed in this PR
Adds zstd to shared guest-image packages so all Ubuntu toolsets and Debian tiers support faster actions/cache compression, addressing #16.
Changes:
- Installs
zstdin both base image builders. - Documents the compression change and one-time cold cache miss per key.
| File | Description |
|---|---|
| images/README.md | Explains zstd availability and cache rollout behavior. |
| images/build-ubuntu-rootfs.sh | Adds zstd to the shared Ubuntu package layer. |
| images/build-rootfs.sh | Adds zstd to Debian bootstrap packages. |
Review effort: Balanced
Member
Author
|
Measured inside the guests after the falcons' minimal golden gained zstd (2026-10-18, kaikhq/manekineko,
The guest picked zstd on its own ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #16.
Change
images/build-ubuntu-rootfs.sh:zstdjoins the first apt layer, so--toolset minimalandbaseget it (onlyfullhad it, via runner-images'install-zstd.sh).images/build-rootfs.sh:zstdadded to the debootstrap set of the Debian tiers, for the same reason.images/README.md: why, and the one-time cold miss per cache key.Verification (2026-10-18)
build-ubuntu-rootfs.sh --toolset minimal --cache-redirect --size-mb 14315built on starship, exit 0. In the image:/usr/bin/zstd1.5.5,zstd --quiet --version→1.5.5(so@actions/cachepicks zstd), node v22.11.0, runner service enabled, cache-redirect patch present./usr/lib+/usr/share, 3 runs:tar -xz0.95 s vstar --use-compress-program unzstd0.43 s (~2.2x); archive 129 MB vs 119 MB. Not yet measured inside a guest.Rollout note
The compression method is part of the cache entry version, so each key misses once after a golden gains zstd. Nothing to migrate.