siso: Introduce 'siso fs gc' subcommand for target build label cleanup Adds the `siso fs gc` CLI subcommand to enable mathematical build label garbage collection against the HashFS `.siso_fs_state` ledger. This tool allows developers and continuous integration workers to sweep orphaned or evicted build target artifacts from disk while preserving shared libraries and header caches. Key capabilities: - Supports positional regex target eviction (`siso fs gc "target-.*"`) - Supports LRU build cache bounding (`siso fs gc --retain_last_x=3`) - Protects shared files using bitwise intersection (`(fileMask & keepMask) == 0`) - Includes `--dry_run` flag for non-destructive simulation and reporting - Exports structured metrics to `siso_metrics.json` for telemetry pipelines Also introduces an E2E integration test suite under `subcmd/ninja/e2etests/fs_gc_test.go` and wires `--build_label` into `setupBuild` in `utils_test.go`. This is the 4th CL for go/targeted-build-cleaning. BUG=446692498 TAG=agy Change-Id: I096d9ed17b0163142212f96b7d9d40f497abe4ad Reviewed-on: https://chromium-review.googlesource.com/c/build/+/8183971 Reviewed-by: Yuke Liao <liaoyuke@google.com> Commit-Queue: Saatvik Sharma <sharmasaatvik@google.com>
This repository contains tools developed and owned by the Chrome Build Team.
The steps for getting the code are:
git clone https://chromium.googlesource.com/buildWe use the standard Go module workflow to work on our projects.