v3.0.0
Usage
- uses: Mic92/hestia@v3
with:
version: v3.0.0Build matrix: eval once, build in parallel
New Mic92/hestia/matrix subaction. An eval job runs nix-eval-jobs, uploads
each check's .drv closure to the cache, and outputs a matrix of the checks
that still need building. Build jobs fetch their derivation from the cache and
build by store path: no per-job evaluation, no flake changes, and no job for
checks whose results are already cached. Example workflow in the
README.
Larger FastCDC chunks (cache reset)
Chunk sizes go from 16/64/256 KiB to 64/256/1024 KiB (min/avg/max). Dedup is
nearly unchanged, encoded manifests shrink by 26-35 % and chunking time drops
by about 40 % (drain 51.9s -> 40.2s on a 14.7 GiB system closure).
Chunk boundaries are part of the cache format, so v3 starts a fresh manifest
namespace: the first runs after upgrading upload from a cold cache, old packs
age out through GC and eviction.
Faster substitution
- Closure export endpoint: prefetch a whole closure in one request instead of
per-path lookups. - Pack reads are coalesced across gaps and read ahead.
- Reference normalization no longer copies whole files.
Full changelog: v2.0.0...v3.0.0