diff --git a/justfile b/justfile index d8a2ce9..88f6149 100644 --- a/justfile +++ b/justfile @@ -23,6 +23,12 @@ memlimit := "4G" # 2026-10-02), and the wide machine at the keyboard can carry it. racememlimit := "16G" +# The fuzz recipe's worker cap. The default -parallel over this machine's cores +# bursts through the 4G fence within seconds (measured: 32 workers take the OOM +# kill, 12 peak near 2G and ran a 20-minute campaign without touching the +# ceiling), so the workers ride a variable a longer campaign can override. +fuzzparallel := "12" + bindir := env_var_or_default("BINDIR", env_var("HOME") / ".local" / "bin") # Where `install-man` puts the gzip-compressed pages (man1 below it). Exported because @@ -69,7 +75,7 @@ unit pkgs=packages run=".*": # Time-boxed fuzz of one target in one package. The package is required; never a gate. fuzz target pkg fuzztime="60s": - systemd-run --user --scope -p MemoryMax={{memlimit}} -p MemorySwapMax=0 go test -timeout 0 -run '^$' -fuzz '{{target}}' -fuzztime={{fuzztime}} {{pkg}} + systemd-run --user --scope -p MemoryMax={{memlimit}} -p MemorySwapMax=0 go test -timeout 0 -run '^$' -fuzz '{{target}}' -fuzztime={{fuzztime}} -parallel={{fuzzparallel}} {{pkg}} # The cmd/link GOOBJ parity gate, opt-in: it costs minutes no pipeline can afford. link-parity: