diff --git a/scripts/reconstruir-corpus.sh b/scripts/reconstruir-corpus.sh index 55c5fc5c..2b132ce2 100755 --- a/scripts/reconstruir-corpus.sh +++ b/scripts/reconstruir-corpus.sh @@ -58,10 +58,18 @@ SECO=0; [ "${1:-}" = "--seco" ] && SECO=1 # Ahora se miden los tres sitios donde hammer SÍ crece —store, árboles de fuentes y CARGO_HOME— # y se toma el mínimo. Si comparten FS, `df` repite el número y esto es inocuo. CARGO_H="${CARGO_HOME:-$HOME/.cargo}" +# ── GOPATH TAMBIÉN CRECE, y llenó `/` hasta 0 BYTES el 2026-08-28 ─────────────────────────────── +# El vigía miraba store/sources/CARGO_HOME pero NO la caché de módulos de Go. Esa noche pasó de +# 498 MB a **25 G** construyendo las recetas Go y dejó `/dev/sda2` al 100% — sin espacio ni para el +# resto de la máquina (gitea, caddy). Los builds Go morían con +# `write /home/sergio/go/pkg/mod/cache/download/…: no space left on device`, que NO se parece a un +# fallo de disco del build porque la ruta no es del repo. Se movió a `/mnt/cosecha/gopath` (symlink, +# igual que ~/.cargo) y se añade acá para que el vigía lo vea aunque alguien lo devuelva a `/`. +GO_MODCACHE="${GOMODCACHE:-$(go env GOMODCACHE 2>/dev/null || echo "$HOME/go/pkg/mod")}" avail_gb() { df -BG --output=avail "$1" 2>/dev/null | tail -1 | tr -dc 0-9; } libre_gb() { local m=999999 v d - for d in "$STORE" "$ROOT/work/sources" "$CARGO_H"; do + for d in "$STORE" "$ROOT/work/sources" "$CARGO_H" "$GO_MODCACHE"; do [ -e "$d" ] || continue v=$(avail_gb "$d"); [ -z "${v:-}" ] && continue [ "$v" -lt "$m" ] && m=$v