Skip to content

skipbuild 0.6.2

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Oct 05:25

Highlights

Patch release for three cache-correctness defects found by an independent audit of 0.6.1. No new features; no cache-format changes.

Install

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.ps1 -OutFile install.ps1; .\install.ps1

Fixed

  • -- is now a hard boundary for launcher options. Everything after -- is passed to the wrapped compiler verbatim. Previously skipbuild -- g++ -c a.cpp --cache-dir X silently removed --cache-dir X from the compiler command line, because the option scanner walked the whole argv.
  • Read-only caches are never modified. --clean, --clear-stats, prune(), LRU access-time updates, corrupted-entry repair and remote-hit installs all respect read_only now. A remote hit is decompressed into a private staging directory and restored from there instead of being written into the cache, so remote reads keep working with a read-only local cache.
  • Remote uploads skip zero-byte sidecars instead of advertising empty files.

Tests

  • New cli_args_test covers the -- boundary, option consumption before/after the separator, and the override mask.
  • cli_e2e_test now asserts that a read-only --clean fails with an explanation and leaves the cache intact, and that a writable --clean still removes it.
  • test_eviction asserts a read-only cache refuses put() and does not prune existing entries.

16/16 tests pass locally (Release and warnings-as-errors builds); CI green on Windows x64/ARM64, Linux x64/ARM64, macOS ARM64/Intel.

Full details: CHANGELOG.md